0

我在一个文本字段(输入消息)和发送按钮上方制作了简单的网络聊天、气泡(消​​息)。当我单击其他内容时,如何使输入文本字段保持焦点而不丢失(焦点始终位于 id="input_message" 的输入上)?

4

3 回答 3

10
var el = document.getElementById('input_message');

el.focus();

el.onblur = function () {
    setTimeout(function () {
        el.focus();
    });
};

这是小提琴:http: //jsfiddle.net/MwaNM/

于 2012-11-26T21:25:37.970 回答
5

这是一个肮脏的黑客。

<input type="text" id="input_message" />
<script type="text/javascript">
    with (document.getElementById('input_message')) {
        onblur = function(e) {
            var elm = e.target;
            setTimeout(function(){elm.focus()});
        }
        onkeydown = function(e) {
            var key = e.which || e.keyCode;
            if (key == 9) e.preventDefault();
            // code for tab is 9
        }
    }
</script>
于 2012-11-26T21:51:41.580 回答
0
var inputElement = document.getElementById("input_message");
    inputElement.focus();
    inputElement.addEventListener("blur", function(event){
        inputElement.focus();
    }); 

http://jsfiddle.net/653w1mpv/

于 2016-05-29T13:53:52.977 回答