jQuery:如何专注于输入文本字段,使光标位于文本的末尾?

Posted

技术标签:

【中文标题】jQuery:如何专注于输入文本字段,使光标位于文本的末尾?【英文标题】:jQuery: How to focus on input text field such that the cursor is placed at the end of the text? 【发布时间】:2011-11-24 23:39:31 【问题描述】:

考虑以下示例:(demo here)

html

<input type="text" />
<div>Click here to set focus</div>

JS:

$(function() 
    $("input").val("Hello");
    $("div").click(function() 
        $("input").focus();
    );
);

单击div 时,光标位于文本开头:|Hello

如何将光标设置在文本末尾:Hello|

【问题讨论】:

它已经设置为字符串结尾可能是因为您的浏览器我使用的是 firefox,我刚刚尝试了您的演示链接,它可以工作。当我点击 div 时,光标设置结束 hello 即使对我来说,使用 chrome,它也位于字符串的末尾。 它也适用于 chrome。当然,除非我将光标定位到其他地方,但默认情况下它会走到最后。 对于 IE,光标位于文本的开头 我使用的是Firefox 6.0.2,当我点击上例中的div时,光标定位在Hello的开头。 【参考方案1】:

使用这个插件:http://plugins.jquery.com/project/PutCursorAtEnd

【讨论】:

你不需要什么该死的插件! 这是plugin code,拿走你需要的东西并以正确的方式实施。 我认为使用插件是个好主意,因为如果插件更新(例如为了迎合尚不存在的新浏览器),那么您可以轻松更新所有使用插件。 在那之前,您的用户必须发出大量额外的 http 请求才能下载您指向的大量插件。这一切都是因为你自己无法编写一个简单的函数。如果插件代码得到更新,更新你自己的该死的代码。 您可以编写一些代码将您的插件连接到一个文件中,该文件会被缩小和压缩,这解决了您的多次下载问题......以及您希望人们编写代码的问题【参考方案2】:

我想你正在寻找selectionStart。

【讨论】:

以上是关于jQuery:如何专注于输入文本字段,使光标位于文本的末尾?的主要内容,如果未能解决你的问题,请参考以下文章

专注于下一个输入不起作用以及当用户在最后一个输入字段时如何提交表单

JavaScript jquery - 专注于页面上的第一个文本输入字段

VBS使文本框的光标位于所有字符后

jQuery在文本区域中设置光标位置

jQuery专注于数组模糊

如何从输入字段搜索文本到文本区域,以及如何使用 Jquery 标记匹配结果?