Jos*_*sen 28 javascript events event-handling javascript-events actionscript-3
如何创建类似于ActionScript的自定义事件类?我的意思是,我可以使用一个类来发起我自己的事件,发送必要的数据.
我不想使用像YUI或jQuery这样的第三方库来实现它.我的目标是能够发送看起来像这样的事件.
document.addEventListener("customEvent", eventHandler, false);
function eventHandler(e){
alert(e.para1);
}
document.dispatchEvent(new CustomEvent("customEvent", para1, para2));
Run Code Online (Sandbox Code Playgroud)
请不要第三方库解决方案.
小智 26
对我有用的方法是调用document.createEvent(),初始化它并使用window.dispatchEvent()调度它.
var event = document.createEvent("Event");
event.initEvent("customEvent", true, true);
event.customData = getYourCustomData();
window.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
小智 5
我在这里参加派对有点晚了,但是他正在寻找同样的事情.我并不热衷于第一个答案(上图),因为它依赖于文档来管理自定义事件.这很危险,因为它是全局的,如果该脚本巧合地依赖于同一个自定义事件,则可能与另一个脚本发生冲突.
我发现的最佳解决方案是: Nicholas C. Zakas - Javascript中的自定义事件
不幸的是,由于javascript不支持继承关键字,因此原型设计有点混乱,但它确实使事情保持整洁.