如何实现JavaScript中的* custom *事件?

时间:2011-04-14 16:53:28

标签: javascript dom javascript-events event-handling

据我了解,事件不是EcmaScript语言的一部分, 但各种DOM规范和DOM实现 引擎。从阅读DOM,我得到的印象是 事件是内置于引擎的,你不能拥有自定义事件。上 另一方面,像jquery这样的框架提供了定义的函数 自定义事件。同样,您可以在服务器端拥有自定义事件 像Node.js这样的JavaScript框架。

我试图对此进行一些研究,并且我能做出唯一的结论 想出来的是“定制”事件实际上是抽象 over true(内置)事件,框架在隐藏中处理 DOM的一部分,是为特定目的而创建的。

这是对的吗?如果没有,用户定义的Evers实际上如何 用JavaScript实现?

2 个答案:

答案 0 :(得分:3)

DOM事件规范(v2v3)提供了一种通过createEventdispatchEvent等方法创建和分派事件的方法。这是一个DOM的东西,而不是JavaScript的东西。 (JavaScript围绕函数的各种功能 - 它们是closures,是第一类对象等 - 使得通过观察者样式模式实现事件变得非常容易,但这是一个不同的主题。)

答案 1 :(得分:0)

This article深入讨论了这个问题,并为围绕现有dom事件构建“抽象”提供了一个非常可靠的解决方案。