输入框因广泛定位而失去焦点

时间:2015-02-11 22:34:35

标签: javascript jquery

我有一个输入框,我正在使用jEditable(jQuery)进行内联编辑,但由于不幸的情况,当我点击输入框外部时它没有失去焦点,因此我实现了下面的代码来对抗它。

$('section').mousedown(function() {
    document.activeElement.blur();
});

这适用于我遇到的问题(在输入框外部点击时不会失去焦点),但是当点击我的输入框时,它会很好地聚焦,然后立即失去焦点,因此它不会允许我选择输入框中的任何文本。显然,这取决于'section'的广泛定位。有没有办法只使用document.activeElement.blur();而没有定位输入元素?

谢谢。

参考我为什么不能修复最初的问题,似乎它是在可排序的jQuery UI中实现的:Click on jQuery Sortable list does not blur input

1 个答案:

答案 0 :(得分:1)

在使用sortable之前我遇到过这个问题,修复它的最佳方法如下:

$(document).click(function(evt) {
    var class_to_choose = $(evt.target).context.tagName.toLowerCase();

    if (class_to_choose!="input") {
        document.activeElement.blur();
    }
});

基本上只需确保您点击的内容不是输入框。