javascript - 是否有一种有利可图的方式来记录文本区域中的用户操作?

标签 javascript jquery-plugins macros textarea jquery-events

我需要在定时器上向服务器发送一堆命令——比如:

put(0,"hello")
del(4,1)
put(4," is around the corner")

所以我需要监视和记录所有用户输入,并在超时(空闲)时编译/刷新它,类似于宏。

我可以记录所有发生的事情 onKeyUp/onKeyDown/onMouseDown/onMouseUp 使用 textarea 光标位置和按键信息(稍后一段时间使其跨浏览器),但我无法处理诸如使用鼠标右键粘贴并选择“粘贴”或从菜单中粘贴之类的事情(我可以​​处理 onChange ,但我不会知道它是粘贴的还是已经记录为按下的键,并且它仅在焦点更改后触发)。即使从上下文菜单中粘贴也会触发一些有用的信息,但是浏览器中的菜单是唯一的东西,没有为 Javascript 提供任何东西。

是否有用于 jQuery 的任何插件或类似的东西,如果不比较当前文档和前一秒文档,我真的没有其他方法可以实现它吗?

更新:有处理cut/copy/paste的事件:http://www.quirksmode.org/dom/events/cutcopypaste.html , 但是关于 undo 一个?

附言如果有人真的需要,我会在完成后展示一个宏录制代码。为了正确地完成它,我只需要 undo 处理可能性。当前版本在这里:http://code.google.com/p/sametimed/source/browse/WebContent/module-editor.js , 寻找 compileCommands 方法。

最佳答案

根据浏览器的不同,您可能会听到一些用于剪切/复制/粘贴的事件。因此,如果它们被触发,您可以使用它们,否则退回到更乏味的解决方法。

参见:http://www.quirksmode.org/dom/events/cutcopypaste.html

关于javascript - 是否有一种有利可图的方式来记录文本区域中的用户操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1729100/

相关文章:

javascript - 使用 React Redux 从字符串值调用变量

javascript - jquery ui - 可排序 : get new position of all elements

javascript - 将 Javascript 函数链接到返回 jQuery 对象的 jQuery 函数

macros - Elixir:在定义它的同一模块的主体中​​使用宏

eclipse - 是否有用于在 m4 中开发的 eclipse 插件?

javascript - 在 ASP.NET/C# 中检查复选框服务器控件时隐藏文本框 - 使用 Jquery 或 Javascript

javascript - 如何从下拉列表中选择的值填充 javascript 数组?

javascript - Jquery 计时器只运行一次?

jquery - 如何更改 jQuery 自动完成插件默认查询字符串键? (我想要的术语)

c++ - MIN/MAX 宏不适用于 visual studio