将光标设置在文本框的文本末尾

时间:2016-07-10 23:17:15

标签: javascript jquery css

我的要求是将光标放在文本框中已经包含文本的文本框中。如何使用Java Script / css / JQuery生成功能。

<span>
  <input id="listInput" class="autocomplete-input singleselect-autocomplete-input" type="text" />
</span>

提前谢谢。

2 个答案:

答案 0 :(得分:0)

您需要将textarea的selectionStart selectionEnd属性设置为当前值的长度。

答案 1 :(得分:0)

在chrome / IE / FF中使用以下对我有用的功能。

&#13;
&#13;
 $("#inputtextboxID").on("focus", this.SetCaretAtEnd.bind());

function SetCaretAtEnd(){
var RefValue = $("#inputtextboxID")[0];
var RefValueLen = RefValue.value.length;
    // For IE Only
    if (document.selection) {
        // Set focus
        RefValue.focus();
        // Use IE Ranges
        var selectedText = document.selection.createRange();
        // Reset position to 0 & then set at end
        selectedText.moveStart('character', -RefValueLen);
        selectedText.moveStart('character', RefValueLen);
        selectedText.moveEnd('character', 0);
        selectedText.select();
    }
    else if (RefValue.selectionStart || RefValue.selectionStart == '0') {
        // Firefox/Chrome
        RefValue.selectionStart = RefValueLen;
        RefValue.selectionEnd = RefValueLen;
        RefValue.focus();
    } 
  }
&#13;
&#13;
&#13;