取消已触发执行的功能

时间:2013-07-19 07:28:52

标签: jquery

我有一个功能,点击后传递不同的参数有2个按钮并执行相同的功能,点击按钮做ajax加载html封面已经加载。

问题是我点击a然后点击b然后点击.reload_btn它会执行两次。
是否可以取消之前单击a执行功能c?

$(".a").click(function(){
    function c(1);
});

$(".b").click(function(){
    function c(2);
});

function c(select_el){
    $('.reload_button').click(function(){
         .. // ajax reload content
    });

};

4 个答案:

答案 0 :(得分:0)

在点击事件之前取消绑定事件。 $('.reload_button').unbind();

答案 1 :(得分:0)

使用.on().off()事件处理程序。

$(".a").on('click',function(){
    function c(1);
});

$(".b").on('click',function(){
    function c(2);
});

function c(select_el){
    $('.reload_button').on('click',function(){
            $(document).off('click','.a');
         .. // ajax reload content
    });
};

答案 2 :(得分:0)

使用必须在ajax调用中使用.abort()操作,

请点击此链接REFER

答案 3 :(得分:0)

您可以调整此代码:

var xhr = $.ajax({
    // Your ajax parameters
});

// Kill the ajax request
xhr.abort()

并看看this page

相关问题