views:

125

answers:

1

I need to send bunch of commands to the server on timer - like:

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

so I need to monitor and record all of the user input and compile/flush it on the timeout (idle), something like macros.

I can record all things happening onKeyUp/onKeyDown/onMouseDown/onMouseUp using textarea cursor position and keys information (and make it cross-browser some time later) but I can't handle things like pasting using mouse right button and selecting 'Paste' or pasting from the menu (I can handle onChange, but I will have no information is it pasted or already recorded as pressed keys and it fires only after focus change). Even pasting from context menu fires some useful info, but the menu from the browser is the only thing, giving nothing for javascript.

Is there any plugin for jQuery or something like that and do I really have no other ways to implement it without comparing current-document and document-a-second-before?

Upd.: There are events for handling cut/copy/paste: http://www.quirksmode.org/dom/events/cutcopypaste.html , but what about the undo one?

P.S. I will show a macro-recording code when I'll finish, if someone really needs it. And to finish it properly, I just need the undo handling possibility. Current version is here: http://code.google.com/p/sametimed/source/browse/WebContent/module-editor.js, look for compileCommands method.

+1  A: 

There are events for cut/copy/paste you may listen to, depending on browser. So if they are triggered you may use them, otherwise fall back to more tedious work-around.

See: http://www.quirksmode.org/dom/events/cutcopypaste.html

stefpet
seems I've forgot about these events and may be they'll really help me - thank you.
shaman.sir
ok, and do the handler for `undo` exists (from browser menu or context menu)? I've found everything I've needed, but not this :(.
shaman.sir