是否有一种有利可图的方式来记录textarea中的用户操作?

时间:2009-11-13 13:02:44

标签: javascript jquery-plugins javascript-events macros textarea

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

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

所以我需要监视并记录所有用户输入并在超时(空闲)上编译/刷新它,就像宏一样。

我可以使用textarea光标位置和密钥信息记录onKeyUp / onKeyDown / onMouseDown / onMouseUp发生的所有事情(并使其跨浏览器 some时间以后)但是我无法处理诸如使用鼠标右键粘贴并从菜单中选择“粘贴”或粘贴(我可以处理onChange)之类的事情,但我将无法粘贴信息或已记录为按键,仅在焦点改变后才会触发)。即使从上下文菜单粘贴也会触发一些有用的信息,但是浏览器中的菜单是唯一的,不为javascript提供任何内容。

是否有任何jQuery插件或类似的东西,我真的没有其他方法来实现它而不比较当前文档和文档 - 之前 - 秒?

更新。:有一些事件要处理cut / copy / pastehttp://www.quirksmode.org/dom/events/cutcopypaste.html,但是 undo一个?

P.S。如果有人真的需要,我会在完成时显示宏录制代码。为了正确完成它,我只需要undo处理的可能性。当前版本位于:http://code.google.com/p/sametimed/source/browse/WebContent/module-editor.js,查找compileCommands方法。

1 个答案:

答案 0 :(得分:1)

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

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