jQuery将Click事件添加到现有点击事件

时间:2013-09-21 11:35:26

标签: jquery loops event-handling click each

我的问题:

我为每个复选框触发一次点击事件,现在我想在特殊情况下为这个点击事件添加一个函数。

jQuery(document).on("init.checkbox", function(){
    jQuery('.checkbox').each(function($index){

        jQuery(this).click(function(){
                    bla bla
        });
    });
});

现在我想为同一个和更多类添加一个刚刚触发一次的点击事件。 如果我这样做:

jQuery(document).on("click.checkbox.label", function() {
    jQuery('.radio, .label_radio, .checkbox, .label').each(function () {
        jQuery(this).bind('click', function (event) {

            console.log('event fired');
            loadDetailHeight();
        });
    });

});

我有时间点击一个新事件,所以它堆叠。

示例:

12:30 : event fired
12:31 : event fired
12:31 : event fired
12:32 : event fired
12:32 : event fired
12:32 : event fired

每次堆叠一次。我怎么能达到这个事件只增加一次?... :(

Thx 4帮助

1 个答案:

答案 0 :(得分:1)

使用stopPropagation,它会阻止事件的进一步传播:

jQuery(this).bind('click', function (event) {
    event.stopPropagation();
    console.log('event fired');
    loadDetailHeight();
});