【发布时间】:2017-01-01 19:13:58
【问题描述】:
我发现在文档中添加事件监听器有点奇怪。虽然向 HTMLElements 添加侦听器可以正常工作,但向文档添加侦听器不起作用。但奇怪的是,使用 jQuery 就可以了。
那么有人可以解释一下,为什么这两个函数做的事情不完全相同?
["customEvent1", "customEvent2"].forEach(
(event: string) => {
document.addEventListener(event, () => this.eventHandler());
});
$(document).on("customEvent1 customEvent2", () => this.eventHandler());
编辑: 嗯,似乎对环境有一些误解。
- 函数被一个类包围
- 我正在使用 TypeScript/ES6
- EventHandler 是一个类方法
- 自定义事件由
$(document).trigger("customEvent1")触发;
【问题讨论】:
-
一个是 jQuery(less code),另一个是核心 JavaScript。
-
[...]adding a listener to document doesn't work[...]是什么意思。我这个jsfiddle 你可以看到它确实有效。 -
@BhojendraNepal 这怎么是骗子?
-
@BhojendraNepal 我看不出这是重复的。 OP声称
addEventListener和jQuery的.on之间存在差异。您的链接问题是关于addEventListener与on[eventname]属性。 -
你去吧.... 使用 jQuery 或纯 JavaScript。
标签: javascript jquery typescript ecmascript-6