jquery - 在 Javascript/jQuery 中将匿名函数传递给自定义事件触发器

标签 jquery callback anonymous-function jquery-callback custom-events

我试图在 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
});

示例: http://jsfiddle.net/NRSJ2/

关于jquery - 在 Javascript/jQuery 中将匿名函数传递给自定义事件触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6391957/

相关文章:

javascript - Javascript 不可用时的 jQuery 淡入解决方法

javascript - doc.fromHTML 不是函数 jsPDF

c# - 转换/包装一个使用回调的 "classic"异步方法

Codeigniter & HMVC - 回调不起作用

javascript - 向 ckeditor 添加占位符

javascript - 如何将容器 div 的大小调整为其子级的总高度?

c++ - std::bind 和 unique_ptr - 如何只移动?

c# - 匿名方法如何省略参数列表?

php is_function() 判断变量是否为函数

jquery - jQuery 中非常基本的匿名函数失败?