5

私はすでにこれをFirefox、Safari、Chromeで動作させています。

InternetExplorerのINPUTフィールド内のテキストカーソルの位置をプログラムで設定できるようにしたいと思います。

私はこのトピックをさまざまなWebサイトで調べたところ、一般的に同じ手法が見つかりました。

var el = document.getElementById("myTextField");
var pos = 6;

if (document.selection) {
    el.focus();
    var selection = document.selection.createRange();
    selection.moveStart("character", -el.value.length);
    selection.moveStart("character", pos);
    selection.moveEnd("character", 0);
    selection.select();
}

問題は、これを実行しようとすると、指定した位置に関係なく、カーソルが常に値の最後に移動することです。

人々が使っているテクニックを誤解しましたか?私はどこかで何かを逃しましたか?少しイライラしますが、もちろん、これらのさまざまなブラウザを使用したWeb開発の性質です。

助けてくれてありがとう。

4

1 に答える 1

5

次のコードはIE9で私のために働いています

<script type="text/javascript">
    var input = document.getElementById("myInput");
    input.selectionStart = 2;
    input.selectionEnd = 5;
</script>

これが私がIE6に使用しているコードです

      input.select();
        var sel = document.selection.createRange();
        sel.collapse();
        sel.moveStart('character', this.SelectionStart);
        sel.collapse();
        sel.moveEnd('character', this.SelectionEnd - this.SelectionStart);
        sel.select();  
于 2011-07-25T21:46:23.847 に答える