Я хотел бы представить мысль, не удаляя все события вместе (просто переопределить их).
Если ваше новое одно связанное событие (мы называем его «щелчком» здесь) относится к элементу, к которому оно привязано, то я считаю, что вы можете игнорировать любые другие события просто с помощью функции stopPropagation (). Как это
$("specific-selector").on("click", ".specific-class", function (e) {
e.stopPropagation()
// e.stopImmediatePropagation()
/* your code continues ... */
});
Это остановит всплывающие события, поэтому другие события не будут срабатывать. используйте stopImmediatePropagation () для предотвращения других событий, прикрепленных к тем же элементам, что и «щелчок».
Например, если событие "mouseleave" также привязано к элементу $ ("specific-selector .specific-class"), оно также не сработает.
Наконец, все другие события не будут запускаться для этого элемента, кроме вашего нового элемента click.
Нерешенный вопрос: а что если другие события также используют stopPropagation ()? ... Тогда я думаю, что победит тот, у кого лучшая спецификация, поэтому постарайтесь избегать сложных, слишком много событий - последнее предложение.
Для получения дополнительной информации см. «Прямые и делегированные события» на сайте jQuery .