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

标签 javascript jquery methods

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

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

最佳答案

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

event listener是一个函数 invoked当某种eventdispatched在特定元素或其后代之一上。

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);

关于javascript - 方法是否被视为事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38257731/

相关文章:

javascript - 将 JSON 分配给自动完成

javascript - 添加额外信息(版权声明/阅读更多链接)以复制文本并保留格式(换行符和颜色)

c# - 在 ASP.NET MVC 中单击按钮时呈现局部 View

javascript - 用 Javascript 写一个包装器对象

ios - 使用 NSString 以编程方式访问或创建 Objective-C 中的方法

javascript - Ajax请求失败?

javascript - 是什么导致 Safari 中的音频播放缓慢/延迟?

javascript - fullcalendar 动态添加事件

javascript - 用于检测浏览器分辨率的 JS 在 Chrome 和 Safari 中有效,但在 IE9 或 FF9 中无效

pointers - Setter 方法不设置结构属性 Golang