光标在文本的开头

时间:2014-01-02 16:26:01

标签: javascript cursor

我想始终将光标设置到文本框(<input/>)的开头。 我发现下面的代码完成了这项工作。但是,如果文本框(<input/>)中已有文本,则首先在文本末尾设置光标,然后移动到开头。这导致不希望的跳跃效果。

有没有办法在没有这种跳跃效果的情况下始终将光标设置为乞讨?注意我在onFocus onClick中调用了下面的函数。

var range;
if (elem.createTextRange) {
    range = elem.createTextRange();
    range.move("character", 0);
    range.select();
} else if (elem.selectionStart) {

    elem.focus();
    elem.setSelectionRange(0, 0);
}

1 个答案:

答案 0 :(得分:0)

另一种选择,而不是自己完成所有操作都遵循jQuery插件:

http://code.google.com/p/rangyinputs

在这里可以找到一个很好的演示: http://rangyinputs.googlecode.com/svn/trunk/demos/textinputs_jquery.html

希望这为您的任务带来了新的亮点,请理解,如果没有一个plunker / jsfiddle,一个完美的解决方案现在超出了我的范围。

<强>更新 另一种方法是使用(如果你在html5上下文中)属性autofocus。但是行为是,当渲染DOM并选择所有现有文本时,它会获得焦点。不知道你是否能忍受这个。

<input type="text" value="some text here" autofocus />

<强> UPDATE2

http://plnkr.co/Wag8fb @OP:请拨打&amp;编辑它,它就像你的代码一样。因为我使用了粘贴在这里的所有代码,而且根本没用。

相关问题