Jquery 如何绑定和解除绑定文本字段上的模糊事件

Jquery 如何绑定和解除绑定文本字段上的模糊事件,jquery,Jquery,我有一个文本字段,它有一个模糊事件,这将有助于检查数据库中现有的数据 当它处于编辑模式时,我不想进行DB调用以检查数据库,因此将禁用此模糊事件 当点击编辑按钮时,如何禁用此模糊事件 我是这样试的 var value = 'Home'; fillField(); function fillField() { $("#label").val(value); } $(document).on('click', '#editbtn', function (event) { $("#

我有一个文本字段,它有一个模糊事件,这将有助于检查数据库中现有的数据

当它处于编辑模式时,我不想进行DB调用以检查数据库,因此将禁用此模糊事件

当点击编辑按钮时,如何禁用此模糊事件

我是这样试的

var value = 'Home';
fillField();

function fillField() {
   $("#label").val(value);
}



$(document).on('click', '#editbtn', function (event) {
   $("#label").prop("readonly", true);
    $("#label").val(value);
    $('#label').unbind("blur");
});



$(document).on('blur', '#label', function (event) {
alert('onblur fired');
});
你能告诉我怎么做吗???

这可以解决问题

$(document).on('click', '#editbtn', function (event) {
   $("#label").prop("readonly", true);
    $("#label").val(value);
    $(document).off('blur', '#label');
});
使用.off而不是.unbind,并关闭原始事件
var值='Home';
菲尔菲尔德();
函数fillField(){
$(“#标签”).val(值);
}
$(文档).on('click','#editbtn',函数(事件){
$(“#label”).prop(“只读”,true);
$(“#标签”).val(值);
$('#label')。解除绑定(“模糊”);
});
$('#label')。在('blur',函数(事件)上{
警报('onblur fired');

});您的问题是模糊事件未附加到您尝试解除绑定的特定标签。它附加到文档,然后在事件目标中搜索#标签选择器

使用
$(document).off('blur','#label')
的问题在于,由于使用on绑定元素(可以动态添加),它将关闭所有与条件匹配的事件,而不仅仅是针对特定标签

您可以始终创建一个数据属性或全局变量来区分正在编辑的元素,而不必担心重新绑定模糊

这假设您有理由将其绑定到文档,而不是实际的标签。如果只使用一个文本字段和按钮,效果会更好