我想做这样的事情
$("#A").on("click", function(){
$.event.trigger({type:"custom"});
});
$("#B").on("custom", function(e){
$("#B").removeClass("hidden");
});
$("#C").on("custom", function(e){
alert("something");
}
我使用JavaScript触发自定义事件的位置。然后,我希望能够在整个页面的不同元素上使用.on
函数。点击"#A"然后会触发所有注册元素的事件。
我注意到触发器函数是在一个元素而不是全局上调用的,这不是我想要的。
答案 0 :(得分:11)
我不确定我理解您的问题,但如果您将代码更改为:
$("#A").on("click", function(){
$(document).trigger("custom");
});
$(document).on("custom", function(e){
$("#B").removeClass("hidden");
});
$(document).on("custom", function(e){
alert("something");
});
它应该工作。这是demo