jquery触发器自定义全局事件

Ene*_*mis 3 javascript jquery events

我想做这样的事情

$("#A").on("click", function(){
    $.event.trigger({type:"custom"});
});
$("#B").on("custom", function(e){
    $("#B").removeClass("hidden");
});
$("#C").on("custom", function(e){
    alert("something");
}
Run Code Online (Sandbox Code Playgroud)

我使用JavaScript触发自定义事件的位置.然后,我希望能够.on在整个页面的不同元素上使用该功能.然后单击"#A"将触发所有已注册元素的事件.

我注意到触发器函数是在元素而不是全局上调用的,这不是我想要的.

小提琴

Dav*_*ngo 11

我不确定我理解你的问题,但如果你改变你的代码:

$("#A").on("click", function(){
    $(document).trigger("custom");
});
$(document).on("custom", function(e){
    $("#B").removeClass("hidden");
});
$(document).on("custom", function(e){
    alert("something");
});
Run Code Online (Sandbox Code Playgroud)

它应该工作.这是一个演示