jQuery / Javascript> onClick将文本放在最后已知的光标位置

时间:2012-08-28 19:17:44

标签: javascript jquery forms

我有一个我正在使用的表单,允许用户根据需要不断添加新行(用于制作包含多个“howto”步骤的文章,他们可以一遍又一遍地点击以添加新步骤)。我希望能够做的是让用户可以随时单击任何一行,然后单击一个关闭的单词或按钮,然后将该按钮的值插入到最后一个已知的光标位置。

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

实施例的输入1:“删除客户当前的IP地址,并与它们的静态IP取代,[用户可以点击这里依次静态IP BUTTON AND%STATIC_IP%将被插入在最后一个已知光标位置(AKA HERE) ]

示例输入2:“在客户[输入%WIFI_SSID%]中输入”路由器设置“

我找到了其他几个能够插入文本的stackoverflow文章,但是他们都希望它能够被定义为textarea或输入。在这种情况下,我需要它插入到最后一个已知的光标位置。我希望这一切都清楚。我期待着任何帮助或问题。

入门代码:http://jsfiddle.net/4mJwU/

2 个答案:

答案 0 :(得分:1)

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

这可以通过多种方式完成,其中一种方法是利用焦点和模糊事件(附加到字段 - 在您的情况下为行)来跟踪(在某些变量中)对最后聚焦的字段的引用。它应该是一块蛋糕。

可以帮助您入门的快速简单的脚本http://jsfiddle.net/sjqWu/1/

将你从其他stackoverflow anwsers学到的东西与上面的例子相结合,你应该没问题。快乐学习!

答案 1 :(得分:0)

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

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