我正在尝试使用onblur / onfocus组合为一对文本框工作,我在jquery中通过类选择。我在调试中没有收到任何错误,但似乎从未调用模糊函数。调试时,模糊函数中的断点未被命中。
$(document).ready(function () {
var row = $(this).closest('tr');
$('.editClass').click(function () {
var editBoxes = $(row).find('.editClass');
var focus = 0;
$(editBoxes).focus(function () { focus++ });
$(editBoxes).blur(function () {
focus--;
setTimeout(function () {
if (!focus) {
alert('LOST FOCUS'); // both lost focus
}
}, 50);
});
});
});
答案 0 :(得分:2)
非常肯定这里的问题是editBoxes被动态添加到页面中。这在我的问题中并不明显。由于它们是dyncamically添加,我需要使用
$(document).on('blur', '.editBoxes', function (){
...
}
答案 1 :(得分:0)
代码示例的最后两行应为此
});
});
这是关闭就绪和点击功能调用所必需的。
另一个可能的问题是您将焦点和模糊侦听器包装在单击处理程序中。你为什么这样做?