知道我的document.activeElement
是输入字段(我不确切知道组件的名称,但可能是Google的搜索输入字段,例如),如何以编程方式在其上设置文本?
- 更新
我正在尝试使用xul应用程序,在页面加载后通过javascript。粘贴命令工作正常,所以我知道该字段具有焦点。 (我没有把Xul标签放在因为它只是关于javascript)
答案 0 :(得分:1)
如果您确定它是输入文本字段,只需设置值:
document.activeElement.value = 'value'
答案 1 :(得分:1)
请参阅mozilla reference。这与document.getElementById()
document.activeElement.value = 'new value';
答案 2 :(得分:1)
如果没有看到你的代码及其运行的上下文,我只能推测。但是,我的猜测是您从XUL应用中调用document.activeElement
,这意味着document
是Chrome文档,而不是内容页面。在这种情况下,活动元素可能是您用于显示内容的browser
或iframe
元素。
答案 3 :(得分:0)
我觉得有点麻烦,因为我在一个Xul应用程序中。 Javascript应该像浏览器一样工作,但它没有。
我做的工作是(将内容放入剪贴板后):
controller.doCommand('cmd_selectAll');
controller.doCommand('cmd_paste');
答案 4 :(得分:0)
如果您想要聚焦元素相对于给定应用程序窗口的任何位置,例如它可能位于<browser>
元素内,请使用与document.commandDispatcher.focusedElement.value
相同的document.commandDispatcher.focusedWindow.document.activeElement.value
。这为您提供了cmd_paste
操作的元素。