gpt4 book ai didi

javascript - jquery中解除绑定(bind)后如何绑定(bind)点击事件

转载 作者:行者123 更新时间:2023-12-03 02:42:17 25 4
gpt4 key购买 nike

我想取消绑定(bind)按钮的点击事件,直到ajax调用完成。

它解除了点击绑定(bind),但我无法使其重新绑定(bind)点击。

下面是我的 Ajax 调用:-

   $("#btnsearch").click(function (event) {        
$('#btnsearch').text('Wait...').unbind('click');
$.ajax({
url: "//api/Ulyx/OrderDetails",
type: "GET",
dataType: "json",
beforeSend: function () {
},
async: false,
},
crossDomain: true,
complete: function (data) {
$('#btnsearch').text('Search').bind('click');
}
});

最佳答案

您可以简单地存储一个状态变量来表示 AJAX 请求正在进行中,以禁止发送另一个请求,而不是绑定(bind)/取消绑定(bind)事件:

$("#btnsearch").click(function(event) {
if (!$(this).data('ajax-in-progress')) {
$(this).text('Wait...').data('ajax-in-progress', true);

$.ajax({
url: "//api/Ulyx/OrderDetails",
type: "GET",
dataType: "json",
crossDomain: true,
complete: function(data) {
$('#btnsearch').text('Search').data('ajax-in-progress', false);
}
});
}
});

另请注意,我删除了 async: false 设置,因为这是非常糟糕的做法,并且我修复了调用的语法问题,我认为这只是将代码复制到问题时引起的。

关于javascript - jquery中解除绑定(bind)后如何绑定(bind)点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48278122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com