繁体   English   中英

如何为 document.activeElement 设置文本值?

[英]How to set a text value for document.activeElement?

知道我的document.activeElement是一个输入字段(我不知道组件的确切名称,但可能是 Google 的搜索输入字段,例如),我如何以编程方式在其上设置文本?

- 更新

我正在 xul 应用程序中尝试它,在页面加载后通过 javascript。 粘贴命令工作正常,所以我知道该领域有重点。 (我没有放 Xul 标签,因为它只是关于 javascript)

请参阅mozilla 参考 这与document.getElementById()类型相同

document.activeElement.value = 'new value';

如果您确定它是输入文本字段,只需设置值:

document.activeElement.value = 'value'

没有看到您的代码及其运行的上下文,我只能推测。 但是,我的猜测是您正在从 XUL 应用程序调用document.activeElement ,这意味着document是 chrome 文档,而不是内容页面。 在这种情况下,活动元素可能是您用来显示内容的browseriframe元素。

我认为有一点麻烦,因为我在 Xul 应用程序中。 Javascript 应该像在浏览器中一样工作,但事实并非如此。

我所做的工作是(将内容放入剪贴板后):

controller.doCommand('cmd_selectAll');
controller.doCommand('cmd_paste');

如果您希望焦点元素位于与给定应用程序窗口相关的任何位置,例如它可能位于<browser>元素内,请使用与document.commandDispatcher.focusedElement.value相同的document.commandDispatcher.focusedWindow.document.activeElement.value 这为您提供了cmd_paste操作的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM