I am trying to understand events(such as: click, keyPress...) in js. But when I studied online, I saw it mentioned a lot on 'DOM events'. So my question is js events the same as DOM events? If not, what is the difference?
4 回答
DOM 事件在 DOM 更改或与用户交互时触发,它们是 Javascript 事件。请阅读所有这些:http ://www.w3schools.com/jsref/dom_obj_event.asp
除了 DOM 事件,您可以在 Javascript 中定义自己的事件对象并使用“dispatchEvent”方法来触发该事件。例如:
var event = new Event('build');
// Listen for the event.
elem.addEventListener('build', function (e) { ... }, false);
// Dispatch the event.
elem.dispatchEvent(event);
简而言之,您可以认为 DOM 事件是从 DOM 元素触发的原生 Javascript 事件。虽然 Javascript 事件可以是 DOM 事件或自定义事件
DOM 事件是 DOM 中的元素或对象监听的任何事件。例如,按钮单击、文本输入按键、鼠标悬停。通常 DOM 事件由某种用户交互(鼠标事件、键盘事件、表单提交等)触发。DOM 事件可以通过编程方式触发。
还有其他事件不会被视为 DOM 事件,例如:
- AJAX 响应 (
onreadystatechange
) - 收到的 WebSocket 消息 (
MessageEvent
) - LocalStorage 数据已更改 (
storage
)
Dom 事件:此事件在 DOM 组件上执行以对其执行某些操作,例如(事件/属性等)
Js 事件:此事件将对 DOM 对象的内容执行操作,例如(验证(条件)、表达式、对 Dom 对象的方法等)
事件是记录执行的某些操作并可以对其采取行动的系统。比如点击一个按钮,悬停在某个框上,选择一些文本,甚至在某个频道上接收一条新消息。
在 js 中,DOM 事件是标准事件,对应于直接在 DOM 中的元素上执行的操作,例如当用户点击某物时,会触发点击事件(直接对应于用户点击按钮)并附加到任何事件处理程序该元素将被调用。以下是事件列表: https ://en.wikipedia.org/wiki/DOM_events 这些事件被浏览器识别和支持,并且是本机触发的。
许多 js 库通过这些 DOM 事件创建自己的事件系统。它们环绕被监听的元素,当触发事件时,它们将事件传播到处理函数
它们还可以通过让用户调用特定函数来支持 DOM 或任何其他对象上的自定义事件,例如
obj.on("receive", function(){alert("Hello")})
//Later
obj.trigger("receive")
因此,每当您触发接收事件时,都会调用匿名函数(显示警报)。这里发生的是 on 函数将保留一个附加到对象的处理程序列表,触发器函数将调用每个处理程序并使用任何所需的数据调用它们