Jquery 如何绑定和解除绑定文本字段上的模糊事件
我有一个文本字段,它有一个模糊事件,这将有助于检查数据库中现有的数据 当它处于编辑模式时,我不想进行DB调用以检查数据库,因此将禁用此模糊事件 当点击编辑按钮时,如何禁用此模糊事件 我是这样试的Jquery 如何绑定和解除绑定文本字段上的模糊事件,jquery,Jquery,我有一个文本字段,它有一个模糊事件,这将有助于检查数据库中现有的数据 当它处于编辑模式时,我不想进行DB调用以检查数据库,因此将禁用此模糊事件 当点击编辑按钮时,如何禁用此模糊事件 我是这样试的 var value = 'Home'; fillField(); function fillField() { $("#label").val(value); } $(document).on('click', '#editbtn', function (event) { $("#
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绑定元素(可以动态添加),它将关闭所有与条件匹配的事件,而不仅仅是针对特定标签
您可以始终创建一个数据属性或全局变量来区分正在编辑的元素,而不必担心重新绑定模糊
这假设您有理由将其绑定到文档,而不是实际的标签。如果只使用一个文本字段和按钮,效果会更好