将焦点和光标设置为文本输入字段/字符串 w. Jquery 的末尾

Set focus and cursor to end of text input field / string w. Jquery

本文关键字:字符串 Jquery 字段 输入 焦点 光标 设置 文本      更新时间:2023-09-26

我有以下函数,可以将选择器作为高级选项添加到搜索输入中,就像堆栈溢出高级搜索一样。

当您单击要搜索的内容时,它会添加一个前缀。请参阅下面的 Jquery:

<script>
$(document).ready(function () {
        $("table#advanced_search_options tr").click(function () {
            var SearchSelection = $(this).children("td:last-of-type").html();
            var SearchInput = $('#Search');
            SearchInput.val(SearchInput.val() + SearchSelection);
            return false;
            alert(SearchSelection);
        });
});
</script>

如何操作上述内容以将焦点也放在 #search 输入上,将胡萝卜(闪烁的文本插入光标)放在插入的文本/值的末尾?例如。

HC:<--我的搜索输入的附加值,我想在这里设置光标,紧跟在:

您可以使用

Input.setSelectionRange 、Range API 的一部分来执行此操作,用于与文本选择和文本光标进行交互:

var searchInput = $('#Search');
// Multiply by 2 to ensure the cursor always ends up at the end;
// Opera sometimes sees a carriage return as 2 characters.
var strLength = searchInput.val().length * 2;
searchInput.focus();
searchInput[0].setSelectionRange(strLength, strLength);

演示:小提琴