$(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“)是如何工作的? – 2014-10-31 00:28:30
@ chopperdrawlion4对我的朋友很开心。这就是所谓的“三元”表达。首先是一个布尔表达式,然后是两个值之间的“冒号”。如果布尔表达式为真,则整个值为value1,否则为value2。实际上,这段代码会问“如果我们在文档对象中有一个名为”onmousewheel“的属性,那么将DOMMouseScroll设置为没有处理程序,否则将DOMMouseScroll设置为由名为scrollHandler的函数处理。 – Kolban 2014-10-31 00:31:43