我有问题,连接 mousedown
在IE8中使用jQuery为窗口创建了一个事件,我没有收到任何错误,但事件似乎没有被触发。我没有收到任何错误,但事件似乎没有被触发。在IE9和其他所有我试过的浏览器中都能正常工作。这是我的代码。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function test(e) {
alert('test');
}
$(document).ready(function () {
$(window).mousedown(test);
});
</script>
</head>
<body>
</body>
</html>
使用 document
而不是 window
$(document).ready(function() {
$(document).mousedown(function() {
alert('test');
});
});
问题在于你使用的是全局的window.event对象,而不是jQuery的事件对象。window.event只在某些浏览器中有效,而且它不是W3C标准。
jQuery将事件对象标准化,所以在所有浏览器中都是一样的。事件处理程序被传递给jQuery事件对象作为参数。你应该使用这个。
$(".class_name").mousedown(function (e) {
switch (e.which) {
case 1: //leftclick
//...
break;
case 3: //rightclick
//...
break;
}
});