我的扩展程序具有一个包含项目的上下文菜单。我想要做的是:右键单击editable
html元素(例如,输入或文本区域),然后选择并单击菜单中的某个项目时-
由扩展名定义的某些值将输入到输入中。
目前,我已经意识到document.activeElement.value = myValue
。
简单的输入就可以了。
当存在具有自定义onChange
事件处理的输入(例如日历或电话输入或货币输入)时,问题就开始了,这些输入以某种方式转换了用户输入。
由于我直接在元素上设置了一个值-省略了处理逻辑,这会引起各种问题。
由于javascript不允许使用类似KeySend的功能-我在这里有哪些选择?
我曾经考虑过使用Puppeteer或Cypress之类的测试工具-
但它们似乎都无法打包到扩展中。Puppeteer确实具有这样的选项,但是仍然需要运行一个节点实例才能连接。而且,我希望自己的扩展程序完全是客户端程序,并在Chrome网络商店中分发-
因此,我不能要求我的用户运行启动节点服务器。
有一个内置的DOM方法document.execCommand。 如果是扩展名,请在内容脚本中使用此代码。
document.querySelector('some.selector').focus();
document.execCommand('insertText', false, 'new text')
它会将物理用户输入模拟
为当前关注的DOM元素,因此将在字段设置为true的情况下触发所有必需的事件(如beforeinput
,,input
因此,change
如果适用)isTrusted
。
您可能希望选择当前文本以完全替换它,而不是附加:
replaceValue('some.selector', 'new text');
function replaceValue(selector, value) {
const el = document.querySelector(selector);
if (el) {
el.focus();
el.select();
document.execCommand('insertText', false, value);
}
return el;
}
请注意,execCommand在2020年被标记为已过时,但是它将在可预见的将来工作,因为新的编辑API规范尚未完成,并且知道此类操作通常需要多长时间才能完成。
问题内容: 我正在尝试我的React.js的第一部分,并在很早的时候就陷入了困境…我有下面的代码,该代码将搜索表单呈现为。但是,在搜索框中输入内容无济于事。 大概在通过道具并上下移动时会丢失一些东西,这似乎是一个常见问题。但是我很沮丧-我看不到缺少的东西。 (最终,我会使用其他类型的,但是我只是想让这一类正常工作。) 问题答案: 您尚未将道具放在机箱中。它必须在JSX中。 在文档中充分考虑了将 p
我有一个输入字段,用户只能在其中输入数字。 JSFIDLE演示 问题是:当我输入一个数字(例如,)然后按点()时,或-浏览器会自动删除输入字段的内容(值设置为“”=空字符串)。但是为什么呢?将类型从更改为似乎可以解决问题。但是,我失去了输入字段的向上/向下箭头功能。有什么想法吗?
我使用Spring Boot和Hibernate Envers自定义和来存储用户名、ip等附加信息。它工作正常。 作为一个新的需求,我还需要存储来自用户的修改注释。因此,如果用户更改了实体,他/她还需要输入此更改的原因。此文本应保存在其他修订信息中。 我的和类中都有文本,但是如何用这些信息填充?
问题内容: 我有以下html5输入元素: 为什么此输入允许在输入字段中输入字符“ e”?没有其他字母字符可以输入(按预期方式) 使用chrome v.44.0.2403.107 问题答案: 因为这正是规范所说的应该工作的方式。输入的数字可以接受浮点数,包括负号和或字符(其中指数是或后面的数字): 浮点数按以下顺序由以下部分组成: 可选地,第一个字符可以是“ ”字符。 “ ” 范围内的一个或多个字符
问题内容: 当输入零作为输入时,我需要停止询问整数输入,并立即开始求和。当我键入零时,我的程序不会停止。我需要它停止并开始汇总它收集的所有输入。 这是我所拥有的: ///////////////有效的最终代码。谢谢!公共类Inttosum { 问题答案: 您正在使用一种称为循环条件的东西,但是在循环中更新了变量。您可以使用循环。更改 像 使用 我也建议先打电话再打电话。而且,由于您不使用(只是),
问题内容: 我试图在下面的字段中限制输入为数字 它不适用于 它适用于以下代码,但同时更改了两个字段 需要更改用户正在输入的输入字段的值,而不是两者都更改 问题答案: 使用此处找到的指令:而不是ng-change函数。复制此处以方便参考: