繁体   English   中英

jQuery mousedown 事件不会为 IE8 中的窗口触发

[英]jQuery mousedown event not firing for window in IE8

我在 IE8 中使用 jQuery 为窗口连接mousedown事件时遇到问题。 我没有收到任何错误,但该事件似乎没有触发。 它确实适用于 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 的 event 对象。 window.event 仅适用于某些浏览器,它不是 W3C 标准。

jQuery 规范化事件对象,因此它在所有浏览器中都是相同的。 事件处理程序作为参数传递给 jQuery 事件对象。 你应该用那个。

 $(".class_name").mousedown(function (e) {

  switch (e.which) {
    case 1: //leftclick
        //...
        break;
    case 3: //rightclick
        //...
        break;
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM