Событие jQuery mousedown не запускается для окна в IE8 - PullRequest
1 голос
/ 07 декабря 2011

У меня проблемы с подключением события mousedown для окна с помощью jQuery в IE8. Я не получаю ошибок, но событие, похоже, не запускается. Это работает в 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>

Ответы [ 2 ]

5 голосов
/ 07 декабря 2011

используйте document вместо window

$(document).ready(function() {
    $(document).mousedown(function() {
        alert('test');
    });
});
1 голос
/ 04 апреля 2013

Проблема в том, что вы используете глобальный объект window.event, а не объект события jQuery. window.event работает только в некоторых браузерах и не является стандартом W3C.

jQuery нормализует объект события, поэтому он одинаков во всех браузерах. В обработчик события передается этот объект события jQuery в качестве параметра. Вы должны использовать это.

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

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