jquery onblur没有开火

时间:2015-05-23 06:25:24

标签: javascript jquery

我正在尝试使用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);
        });
    });
});

2 个答案:

答案 0 :(得分:2)

非常肯定这里的问题是editBoxes被动态添加到页面中。这在我的问题中并不明显。由于它们是dyncamically添加,我需要使用

$(document).on('blur', '.editBoxes', function (){
 ...
}

答案 1 :(得分:0)

代码示例的最后两行应为此

    });
});

这是关闭就绪和点击功能调用所必需的。

另一个可能的问题是您将焦点和模糊侦听器包装在单击处理程序中。你为什么这样做?