8

ハイガイ、値を持たないテキストボックスの長さ14の位置にカーソルを設定したい..最初はカーソルが0になることを知っているので、14にしたい

4

3 に答える 3

20

IEは、Firefox、Opera、Chromeとは異なるアプローチでカーソル位置を設定します。ヘルパー関数を作成することをお勧めします。これにより、ヘルパー関数が自動的に実行されます。私はこれを自分のニーズに使用します。

function setCursor(node,pos){

    node = (typeof node == "string" || node instanceof String) ? document.getElementById(node) : node;

    if(!node){
        return false;
    }else if(node.createTextRange){
        var textRange = node.createTextRange();
        textRange.collapse(true);
        textRange.moveEnd(pos);
        textRange.moveStart(pos);
        textRange.select();
        return true;
    }else if(node.setSelectionRange){
        node.setSelectionRange(pos,pos);
        return true;
    }

    return false;
}

最後に、onfocusハンドラーから呼び出します。

幸運を

于 2009-12-08T14:40:27.813 に答える
2

moveStart メソッドと moveEnd メソッドは 2 つのパラメーターを想定しています。最初のパラメーターは文字列 (文字、単語、文、またはテキスト編集) です。2 番目のパラメーターは整数で、移動するユニットの数を示します。 http://msdn.microsoft.com/en-us/library/ie/ms536623%28v=vs.85%29.aspx

于 2012-10-30T16:59:03.757 に答える
0

$("#textbox").selectionStart=14Firefox、Opera、Chrome では動作する可能性がありますが、IE では不明です

PS: 適切に機能するには、テキストボックスにすでに長さ 14 > 文字が含まれている必要があります。

于 2009-12-08T08:48:19.963 に答える