jQuery/Javascript>on单击将文本放置在最后一个已知的光标位置
jQuery / Javascript > onClick place text at last known cursor position
我有一个正在使用的表单,它允许用户根据需要不断添加新行(用于制作具有多个"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,然后从那里继续。
- jQuery/Javascript>on单击将文本放置在最后一个已知的光标位置
- Caret函数没有'如果插入符号在最后一个位置,就不能正常工作
- 对jQuery UI可排序表应用包含可以防止将高行移动到最后一个位置
- Skrollr:当滚动位置在最后一个关键帧之后时传递函数
- 如何滚动到DIV顶部表格的最后一个位置(项目10)
- 如何在文本区域中获取最后一个单词的位置
- 默认情况下,在 angularjs 中选择下拉列表中的最后一个位置显示占位符
- 如何将另一个 JSON 中的 JSON 对象移动到最后一个位置
- 将最后一个子项移到第一个位置不适用jquery
- 在最后一个位置的下一个位置插入列表元素
- 获取数组中非null的特定值的位置(第一个和最后一个)
- 如何替换位置哈希并只保留最后一个历史记录条目
- 将JavaScript中数组值的位置从任意更改为最后一个
- Mobile Safari:JS事件,用于在刷新时跳转到最后一个滚动位置
- 按金额分组并显示第一个和最后一个位置
- 记住HTML文档上的最后一个滚动位置以便重复使用
- 如何在HTML5画布上获得鼠标的第一个和最后一个位置
- 字符串中的空格是允许的,但不是在第一个或最后一个位置
- 将数组中的项移动到最后一个位置
- 最后一个位置提供程序被禁用