3

重複の可能性:
jQueryがテキストエリアにカーソル位置を設定

テキストを含む入力にフォーカスがある場合、カーソルは右側のテキストの末尾から始まります。フォーカス時にカーソルを左側に配置するにはどうすればよいですか?

「setCursor」を使用した例を見たことがありますが、setCursor が定義されていないというエラーが表示されます。

<input type="text" class="myInput">
    Tabbing into this should put my cursor at the left!
</input>

setCursor は、未定義であるというエラーをスローします。

$(".myInput").focus(function(){
    var node = $(this);
    setCursor(node, 0);
});
4

1 に答える 1

3

これを試して..

<input type="text" class="myInput" value="Tabbing into this should put my cursor at the left!" />

(function(){
        jQuery.fn.setSelection = function(selectionStart, selectionEnd) {
            if(this.length == 0) return this;
            input = this[0];

            if (input.createTextRange) {
                var range = input.createTextRange();
                range.collapse(true);
                range.moveEnd('character', selectionEnd);
                range.moveStart('character', selectionStart);
                range.select();
            } else if (input.setSelectionRange) {
                input.focus();
                input.setSelectionRange(selectionStart, selectionEnd);
            }

            return this;
        }
        jQuery.fn.setCursorPosition = function(position){
            if(this.length == 0) return this;
            return $(this).setSelection(position, position);
        }
        $(".myInput").focus(function(){
            $(this).setCursorPosition(0);
        });
    })();

うまくいけば、それは今うまくいくでしょう

于 2012-11-05T04:46:27.463 に答える