我试图保持专注与此代码的输入元素:
<input onblur="this.focus()" />
但它似乎并没有工作。
我试图保持专注与此代码的输入元素:
<input onblur="this.focus()" />
但它似乎并没有工作。
如果我们只需要调用.focus()
对上blur
事件,它会恢复的重点,但实际上不会有文本光标。 为了解决这个问题,我们必须让元素失去焦点,然后在几毫秒内返回。 我们可以使用setTimeout()
这一点。
$('#inp').on('blur',function () {
var blurEl = $(this);
setTimeout(function() {
blurEl.focus()
}, 10);
});
这里的工作示例 。 要小心 - 你不能离开文本字段中输入后,=)
编辑我使用jQuery的,但它可以没有它轻松完成。
EDIT2这里的纯JS版小提琴
<input type="text" id="elemID" />
<script type="text/javascript">
document.getElementById('elemID').onblur = function (event) {
var blurEl = this;
setTimeout(function() {
blurEl.focus()
}, 10);
};
</script>