我试图寻找它的意义this
DOM 级别 3 事件规范中事件处理函数内的关键字。
根据我的实验this
指的是event.currentTarget
object.
标准中是否提到了这种行为?
根据《JavaScript 权威指南》一书this
指的是event target
这似乎是错误的。event.currentTarget
看起来更合乎逻辑,因为事件处理程序作为 HTML 元素对象的方法被调用。
有人可以澄清一下吗?
在冒泡的情况下,我看到“this”发生变化,意味着
event.currentTarget。
事实上,《权威指南》在这种情况下是错误的。
我在中找到了参考HTML5事件处理程序处理算法:
Invoke callback
有一个参数,其值为 Event 对象E
,与回调这个值 set to E
's currentTarget
.
DOM 级别 3 事件规范在以前的版本中没有对此进行太多说明 - 它意味着与语言无关。这附录F:ECMAScript 语言绑定刚才说
事件监听函数:
该函数没有返回值。该参数应该是一个实现了Event
界面。
但是,当前版本省略了这些绑定。并且在其Glossary附录事件监听器描述:
事件处理程序, 事件监听器: 一个实现了EventListener
接口并提供EventListener.handleEvent()
回调方法。事件处理程序是特定于语言的。事件处理程序被调用在这样的背景下一个特定的对象(the 当前事件目标)并提供event
对象本身。
此外,即将到来的 DOM Level 4 草案,其goals包含将 DOM 与 EcmaScript 的需求对齐,并明确指出in the 调度事件 section:
If listener
's callback是一个 Function 对象,它的回调这个值 is the event
's currentTarget属性值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)