Javascript 保持对输入标记的关注

Javascript 保持对输入标记的关注,javascript,html,input,dom-events,Javascript,Html,Input,Dom Events,我试图用以下代码将注意力集中在输入元素上: <input onblur="this.focus()" /> 但它似乎不起作用。如果我们在模糊事件上直接调用.focus()它将恢复焦点,但实际上不会有文本光标。为了处理这个问题,我们必须让元素失去焦点,然后在几毫秒内返回它。我们可以使用setTimeout()进行此操作 $('#inp').on('blur',function () { var blurEl = $(this); setTimeout(func

我试图用以下代码将注意力集中在输入元素上:

<input onblur="this.focus()" />


但它似乎不起作用。

如果我们在
模糊事件上直接调用
.focus()
它将恢复焦点,但实际上不会有文本光标。为了处理这个问题,我们必须让元素失去焦点,然后在几毫秒内返回它。我们可以使用
setTimeout()
进行此操作

$('#inp').on('blur',function () { 
    var blurEl = $(this); 
    setTimeout(function() {
        blurEl.focus()
    }, 10);
});
给你。小心-输入文本字段=)后不能离开该字段

编辑我使用了jQuery,但没有它也可以轻松完成。
EDIT2这是纯JS版本


document.getElementById('elemID').onblur=函数(事件){
var Bluel=这个;
setTimeout(函数(){
fullel.focus()
}, 10);
};

“它似乎不起作用”对问题的描述相当糟糕。你能更详细地描述不起作用的方面吗?你还介意解释一下你为什么要集中注意力吗?这没有什么意义,因为您将无法执行任何其他操作。对不起,我的意思是我希望文本光标始终在那里。有没有一种方法可以在光标不离开的情况下单击其他内容?目的是什么?您将无法单击其他任何位置,因为焦点将返回控件。谢谢,但我还需要能够单击其他内容。有可能吗?是的,有可能。你必须记住的唯一一件事是,在任何点击之后,它都会返回对输入的关注。也许您应该编写一些额外的条件来控制焦点丢失预防。您将如何在普通Javascript中做到这一点?我对jQuery一点经验都没有。最后一件事:它能像这样工作吗<代码>
@in3D=)差不多。您忘记将元素ref保存到全局变量。应该是这样的
投票选出最短的代码,但请记住,使用内联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>