jquery触发器自定义全局事件

时间:2014-05-21 12:10:58

标签: 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");
}

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

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

Fiddle

1 个答案:

答案 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