$(document).on({
"mousewheel": scrollHandler,
"DOMMouseScroll": ("onmousewheel" in document) ? null : scrollHandler, // Firefox
"keydown": keyHandler,
"mousedown": function(e) {
if(e.button === 1) {
e.preventDefault();
return false;
}
}
});
Я знаю, что этот код прослушивает прокрутку вниз, но я действительно уверен, как это работает. Согласно documentation for on() функция принимает аргументы .on(events [, selector ] [, data ], handler)
. Однако в приведенном ниже примере кода присутствует хэш, входящий в метод on(). Какой параметр должен быть?jQuery: Создание нескольких прослушивателей событий одновременно?
Этот код по существу создает несколько eventListeners сразу или есть что-то еще происходящее Я не понимаю?
Прохладный, спасибо. В этом контексте вы также можете объяснить, как «работает» («onmousewheel» в документе)? –
@ chopperdrawlion4 Счастливый мой друг. Это то, что называется «тройным» выражением. Сначала это логическое выражение, за которым следуют два значения с «двоеточием» между ними. Если логическое выражение истинно, все значение value1 else value2. На практике этот фрагмент кода спрашивает: «Если у нас есть свойство в объекте document, называемом« onmousewheel », тогда для DOMMouseScroll не будет никакого обработчика, иначе DOMMouseScroll будет обрабатываться функцией scrollHandler. – Kolban