MozillaZine

Dev : Tips : Inserting text at cursor

From MozillaZine Knowledge Base

(Difference between revisions)
Revision as of 01:53, 29 July 2004
Asqueella (Talk | contribs)

<-- Previous diff
Revision as of 13:02, 4 October 2004
Asqueella (Talk | contribs)
(move to Extensions : Example Code)
Next diff -->
Line 1: Line 1:
-''Note: This is only tested with Firefox 0.9.1+, but should work with everything else. Change this note if it works for you ;)''+#REDIRECT [[Dev : Extensions : Example Code : Inserting text at cursor]]
- +
-==Problem==+
-How do I insert some text at cursor position, just as if user typed it?+
- +
-==Solution==+
-Let's say you have a ''focused'' <textbox> in ''current document''. The following function will insert <tt>aText</tt> string at the cursor position.+
- +
-<pre>function insertText(aText) {+
- try {+
- var command = "cmd_insertText";+
- var controller = document.commandDispatcher.getControllerForCommand(command);+
- if (controller && controller.isCommandEnabled(command)) {+
- controller = controller.QueryInterface(Components.interfaces.nsICommandController);+
- var params = Components.classes["@mozilla.org/embedcomp/command-params;1"];+
- params = params.createInstance(Components.interfaces.nsICommandParams);+
- params.setStringValue("state_data", aText);+
- controller.doCommandWithParams(command, params);+
- }+
- }+
- catch (e) {+
- dump("Can't do cmd_insertText! ");+
- dump(e+"\n")+
- }+
-}</pre>+
- +
-Known restriction: <textbox> must be focused. If it isn't, you have to focus it temporarily.+

Revision as of 13:02, 4 October 2004

  1. REDIRECT Dev : Extensions : Example Code : Inserting text at cursor