要求: 我打了一个跨度的ajax调用。我需要暂时禁用/删除click事件,并在我的ajax请求完成后启用它。
我以前的输入按钮
onRequest : function() {
$(inputID).disabled = true ;
},
onComplete : function(response) {
$(inputID).disabled = false;
},
然而,由于“禁用”不适用,因此我需要另一种选择。
最坏情况解决方案:
onRequest : function() {
$(inputID).removeEvents() ;
},
onComplete : function(response) {
$(inputID).addEvents() ;
},
我不喜欢这个解决方案,因为我需要提供保留方法所需的参数。
在javascript中是否有任何规定,我可以迅速临时禁用/启用span / label上的点击事件而无需删除和添加事件?
答案 0 :(得分:0)
您可以在span
中添加一个类(因此您可以将其设置为样式)...
$("inputID").on("click", function () {
var $input = $(this);
if (!$input.hasClass("loading")) {
$input.addClass("loading");
// pseudo code below
$input.ajax({
onComplete : function(response) {
$input.removeClass("loading");
}
})
}
});
因此,您无需添加,删除或触摸任何事件。