Связывание события `click` с jQuery: получение события браузера, а не события jQuery - PullRequest
1 голос
/ 05 апреля 2011

У меня есть этот код:

$link.click(function (e) {
    debugger;
});

Если щелкнуть ссылку и включить отладчик, e - это обычное событие браузера, а не событие jQuery. Там нет .stopPropagation() или .preventDefault().

Почему это?

Ответы [ 3 ]

1 голос
/ 05 апреля 2011

Попробуйте

$link.bind("click", function (e) {
    var jQueryEvent = e,
        browserEvent = e.originalEvent;
});
0 голосов
/ 05 апреля 2011

e должен быть экземпляром jQuery.Event, поэтому эти методы должны быть доступными:

$("a").click(function(e) {
    alert(e instanceof jQuery.Event); // true
});

http://jsfiddle.net/dyJtY/

Можете ли вы предоставить больше контекста, например, вывод отладчика?

0 голосов
/ 05 апреля 2011

Потому что, как вы сказали, это обычное событие браузера, а событие браузера не имеет такого метода.

Чтобы остановить распространение, просто return false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...