jQuery/Javascript>on单击将文本放置在最后一个已知的光标位置

jQuery / Javascript > onClick place text at last known cursor position

本文关键字:最后一个 位置 光标 文本 Javascript gt 单击 on jQuery      更新时间:2023-09-26

我有一个正在使用的表单,它允许用户根据需要不断添加新行(用于制作具有多个"howto"步骤的文章,他们可以反复单击以添加新步骤)。我想做的是让用户能够在任何时候点击这些行中的任何一行,然后点击旁边的单词或按钮,然后将该按钮的值插入到最后一个已知的光标位置。

例如,我可能有一个目前有3行的表单。如果用户返回并想要插入一些数据,他们可以在框中单击返回并点击与他们想要插入的数据相对应的按钮。

示例输入1:"删除客户的当前IP地址并替换为他们的静态IP,[用户可以单击此处,然后单击静态IP按钮,%static_IP%将插入最后已知的游标位置(也就是此处)]

示例输入2:"输入客户[点击将%WIFI_SSID%]插入路由器设置"

我发现了其他几篇stackerflow文章,它们都可以插入文本,但它们都希望文本位于定义的文本区域或输入中。在这种情况下,我需要它插入到最后一个已知的光标位置。我希望一切都清楚。我期待任何帮助或问题。

起动机代码:http://jsfiddle.net/4mJwU/

如果您已经知道如何在最后一个已知的插入符号位置插入一些任意内容,那么您唯一的问题就是知道在单击按钮之前上次聚焦了哪个字段。

这可以通过多种方式实现,其中之一是利用焦点和模糊事件(附加到字段-在您的情况下是行)来跟踪(例如,在某些变量中)对最后一个焦点字段的引用。这应该是小菜一碟。

快速简单的脚本可以让你开始http://jsfiddle.net/sjqWu/1/

把你从其他stackoverflow老师那里学到的东西和上面的例子结合起来,你就应该没事了。学习愉快!

我会质疑你的设计。让用户必须单击一个字段,然后单击一些文本插入该字段,这似乎太多步骤了。您可以使用某种拖放程序。或者,第一次点击不是一个文本框,而是一个下拉列表?

我同意WTK的观点。您可以使用某种事件存储记录id或文本框id,然后从那里继续。