0

簡単な Web チャット、1 つのテキスト フィールド (入力メッセージ) と送信ボタンの上にバブル (メッセージ) を作成しました。入力テキストフィールドにフォーカスを保持し、他の何かをクリックしても失わないようにする方法 (常に 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 に答える