【发布时间】:2015-11-29 22:42:59
【问题描述】:
我正在尝试了解custom events,我很好奇。您可以逐字创建 onClick 事件但写在自定义事件中吗?
ex. 创建一个元素:
<h1 id="clicky">click here</h1>
创建一个和点击事件一样的自定义事件?
obj = document.getElementById('clicky');
obj.addEventListener("fakeClick", function(e) { console.log(e.detail) });
var event = new CustomEvent("fakeClick", {
detail: {
hazcheeseburger: true
}
});
obj.dispatchEvent(event);
这是JSFiddle
【问题讨论】:
-
由于错误状态,您的处理程序中定义的函数
process未定义。 (obj.addEventListener("fakeClick", function(e) { **process**(e.detail) });) -
把
process(e.detail)换成console.log(e.detail),玩得开心 -
@RokoC.Buljan 所以我已经替换为 console.log() 并且不再出现错误。问题是#clicky 元素不可点击?
-
@MatthewHarwood 确定它不可点击。您刚刚创建了一个自定义事件,而不是可点击事件。请阅读developer.mozilla.org/en-US/docs/Web/Guide/Events/…
标签: javascript events onclick custom-events