方法是否被视为事件处理程序?

时间:2016-07-08 01:35:50

标签: javascript jquery methods

我正在研究javascript和jquery对事件处理程序的正确定义有点困惑。

到目前为止,我读过.on()(例如)在技术上是method,但它正在处理事件。那么.on()会被视为事件处理程序吗?或者它是一个事件监听器,因为它内部的函数是处理程序?

2 个答案:

答案 0 :(得分:6)

没有。 jQuery' s on是一种添加事件监听器的方法。它不是事件处理程序,也不添加事件处理程序。

当某个特定元素或其后代之一event listenerinvoked时,event是一个dispatched函数。



function eventListener() {
  console.log("I'm an event listener");
}
window.addEventListener('load', eventListener);




event handler是某种特殊事件监听器:

  • 对于每种事件,元素一次只能有一个事件处理程序
  • 在泡沫阶段调用,而不是捕获。
  • 它可以以raw uncompiled形式存储,在编译时,它将以非常奇怪的范围运行。



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是事件处理程序,因为它是“处理”发生单击时触发的事件的函数。