У меня есть вопрос события связывания JQuery, который сводит меня с ума ...Несвязанность JQuery Обработчики событий
Допустим, у меня есть два обработчика событий того же типа, связанного с тем же объектом. Ниже приведен пример события mousemove
, связанного с объектом window
.
$('body').on('mousedown', '#uiScrollbar', function(e) {
var uiWidth = ui.width();
var mouseStart = e.pageX;
$(window).mousemove(function(e) {
e.preventDefault();
var pixelsMoved = mouseStart - e.pageX;
ui.width(uiWidth + pixelsMoved);
});
}).mouseup(function() {
$(window).unbind('mousemove');
});
Итак, теперь давайте говорить, что я добавить еще mousemove
событие в окно что-то совсем другое. Очевидно, что $(window).unbind('mousemove')
собирается развязать оба обработчика событий. Я знаю, что в raw JS вы можете назначить метод addEventListener()
ссылочной переменной, а затем просто использовать это, чтобы удалить прослушиватель событий, но я не могу найти никакой документации о том, как jQuery поддерживает использование ссылочной переменной.
Возможно, мне не хватает чего-то действительно простого? Благодаря!
Я надеюсь, что помогает! – WHill
То же самое относится к методу .on. –
Это помогает. Я предполагаю, что моя проблема заключалась в том, что я передавал анонимную функцию в качестве аргумента в сравнении с определением функции. Спасибо! – SeeMeCode