Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 取消已触发执行的函数_Jquery - Fatal编程技术网

Jquery 取消已触发执行的函数

Jquery 取消已触发执行的函数,jquery,Jquery,我有一个函数,有两个按钮点击后传递不同的参数并执行相同的函数,点击按钮做ajax加载html封面已经加载 问题是在我单击a然后单击b然后单击之后。重新加载\u btn它将执行两次。 是否可以取消先前的单击aexecutefunction c $(".a").click(function(){ function c(1); }); $(".b").click(function(){ function c(2); }); function c(select_el){ $(

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

问题是在我单击
a
然后单击
b
然后单击
之后。重新加载\u btn
它将执行两次。
是否可以取消先前的单击
a
executefunction c

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

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

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

};

在单击事件之前取消绑定事件<代码>$('.reload_按钮')。解除绑定()

使用
.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
    });
};
在ajax调用中必须使用.abort()操作


按照此链接进行操作

您可以调整此代码:

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

// Kill the ajax request
xhr.abort()

也来看看。

像这样吗$('.reload_button').unbind().click(function(){})感谢您的回复!这同样有效,但使用“开”和“关”意味着,当我执行
off
操作时,应该在单击之前指向哪个选择器
on
?@user1575921是,但也可以用作取消绑定()[折旧]的替换。改为使用.on()和.off()将一个或多个事件的事件处理程序函数附加/分离到选定元素。@user1575921我想让您看看这个问题。