将光标设置为文本框的14个焦点的长度

时间:2009-12-08 08:41:20

标签: javascript html textbox cursor-position onfocus

Hai Guys,          我想将光标设置在文本框中长度为14的位置,该文​​本框中没有值。我知道最初光标将为0我希望它在14

3 个答案:

答案 0 :(得分: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处理程序调用它。

古德勒克

答案 1 :(得分:2)

moveStart和moveEnd方法需要2个参数。 第一个参数是字符串(字符,单词,句子或textedit)。 第二个参数是一个整数,指的是要移动的单位数。 http://msdn.microsoft.com/en-us/library/ie/ms536623%28v=vs.85%29.aspx

答案 2 :(得分:0)

$("#textbox").selectionStart=14可能适用于Firefox,Opera,Chrome,但对IE不确定

PS:长度应为14>已经在文本框中的字符可以正常工作。