如何在 javascript 中创建一个新事件/如 C# 中的事件?
private event EventHandler asdCompleted;
private void SetEventHandlers()
{
this.asdCompleted += asd_completed;
}
private void asd_completed(object sender, EventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
并像在 c# 中一样在任何地方触发事件:
this.asdCompleted(this, null);
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以定义一个简单的委托列表,就像 .NET 内部使用的委托列表一样,如下所示
function createEvent() {
var invokeList = [];
var event = function() {
for (var i = 0; i < invokeList.length; i++) {
invokeList[i].apply(arguments);
}
}
event.add = function(value) {
invokeList[invokeList.length] = value;
}
return event;
}
var foo = {
myEvent: createEvent()
}
foo.myEvent.add(function() { console.log('in my event'); });
foo.myEvent.add(function() { console.log('also in my event'); });
foo.myEvent();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1692 次 |
| 最近记录: |