我正在研究javascript和jquery对事件处理程序的正确定义有点困惑。
到目前为止,我读过.on()
(例如)在技术上是method
,但它正在处理事件。那么.on()
会被视为事件处理程序吗?或者它是一个事件监听器,因为它内部的函数是处理程序?
答案 0 :(得分:6)
没有。 jQuery' s on
是一种添加事件监听器的方法。它不是事件处理程序,也不添加事件处理程序。
当某个特定元素或其后代之一event listener为invoked时,event是一个dispatched函数。
function eventListener() {
console.log("I'm an event listener");
}
window.addEventListener('load', eventListener);

event handler是某种特殊事件监听器:
function eventHandler() {
console.log("I'm an event handler");
}
window.onload = eventHandler;

var eventHandler = 'console.log("I\'m a raw uncompiled event handler");';
document.body.setAttribute('onload', eventHandler);

答案 1 :(得分:1)
不,事件处理程序是事件触发时发生的事情。 .on()
方法是连接它的管道。
例如,如果你有:
function dealWithTheClick(){
alert('Clicked!');
}
$('#someButton').on('click', dealWithTheClick);
函数dealWithTheClick
是事件处理程序,因为它是“处理”发生单击时触发的事件的函数。