Inserting text at cursor: Difference between revisions
From MozillaZine Knowledge Base
Jump to navigationJump to search
mNo edit summary |
m (categories) |
||
Line 29: | Line 29: | ||
Known restriction: <textbox> must be focused. If it isn't, you have to focus it temporarily. | Known restriction: <textbox> must be focused. If it isn't, you have to focus it temporarily. | ||
[[Category:Development]] | [[Category:Development|Inserting text at cursor]] [[Category:Example code|Inserting text at cursor]] |
Revision as of 10:56, 16 January 2005
This page is part of the extension development documentation project.
Ask your questions in MozillaZine Forums. Also try browsing example code.
Note: development documentation is in process of being moved to Mozilla Development Center (MDC).
Note: This is only tested with Firefox 0.9/1.0PR, but should work with everything else. Change this note if it works for you ;)
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 aText string at the cursor position.
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") } }
Known restriction: <textbox> must be focused. If it isn't, you have to focus it temporarily.