Будет ли JQuery переопределять существующие встроенные обработчики событий? - PullRequest
1 голос
/ 18 мая 2011

У меня есть сайт, который построен из множества фреймов. Я работаю над мониторингом активности пользователей - например, когда пользователь нажимает или нажимает клавишу.

Это только для того, чтобы увидеть, если пользователь простаивает или нет.

Для этого я углубляюсь во все iframes, их теги div и регистрирую события hover и click. Между тем я не хочу переопределять / нарушать существующие встроенные обработчики событий, которые определены приложением.

Будут ли jquery переопределять существующие обработчики событий? Если да, то как это проверить, чтобы убедиться, что я этого не делаю?

Вот мое использование.

$(divElementObj).click( function() {
    alert("div click");
});

Ответы [ 3 ]

5 голосов
/ 18 мая 2011

Нет, jQuery работает с использованием addEventListener / attachEvent.Встроенные и уже существующие обработчики не перезаписываются.

См. Пример jsFiddle и источник jQuery , чтобы показать, как это делается.

0 голосов
/ 15 ноября 2012

Для этого есть плагин, но вы должны делать это только тогда, когда вам действительно нужно.

jQuery Override Plugin

$(divElementObj).override('onclick', 'click', function(...));
0 голосов
/ 19 мая 2011

Пока вы не используете что-то вроде event.stopPropagation();, все будет в порядке. event.stopPropagation(); может вызвать проблемы, если ваш существующий сайт ожидает появления событий.

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