1

我的问题:

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

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

每次再叠加一个。我怎样才能达到该事件只需添加一次?... :(

谢谢 4 帮助

4

1 回答 1

1

使用stopPropagation,它可以防止事件的进一步传播:

jQuery(this).bind('click', function (event) {
    event.stopPropagation();
    console.log('event fired');
    loadDetailHeight();
});
于 2013-09-21T11:37:34.467 回答