我试图在 DOM 元素上触发自定义事件,并传递匿名函数以在事件触发时执行(使用 jQuery)。所以像这样:
$(some-dom).live("custom_event", function(evtObj, data, callback) {
//do some stuff
callback();
});
$(some-button).click(function() {
$(some-dom).trigger("custom_event", some_data, function () {
alert("this is my anonymous function passed as event data");
}
});
因此,单击“some-button”应该触发“some-dom”上的“custom_event”,并导致我传递给触发器的匿名函数被执行。正确的?但浏览器说自定义事件中未定义回调。难道我做错了什么?是否不允许将匿名函数作为触发器参数传递?谢谢
最佳答案
您需要将多个额外参数作为数组传递给 trigger()
。 (可以在没有数组的情况下传递一个参数。)
$(some-dom).click(function() { // v-----pass extra args in an Array
$(some-dom).trigger("custom_event", [some_data, function () {
alert("this is my anonymous function passed as event data");
}]);
// ^------Array
});
关于jquery - 在 Javascript/jQuery 中将匿名函数传递给自定义事件触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6391957/