为了账号安全,请及时绑定邮箱和手机立即绑定

JQuery App中的假键盘事件和Catch监视keydown

JQuery App中的假键盘事件和Catch监视keydown

交互式爱情 2022-10-21 15:44:49
                                                                                                                                                                                                                                                                                                                                                            问题我正在尝试使用 Chrome 扩展程序扩展网络应用程序。现在,我需要在 webapp 中自动化一个步骤。在这一步,Web 应用程序有一个禁用的按钮并要求输入特定的字符串。我可以使用以下方法输入字符串:// Let's say the input element is in the input variable.input.value = "required string"它不启用按钮。只有当我在输入框中手动输入时才会这样做。keyup我尝试调试,应用程序正在使用 jQuery监视事件。现在,它没有被启用是有道理的,因为该事件没有被触发。我试过什么?我尝试使用以下方法伪造键盘事件:input.dispatchEvent(new KeyboardEvent('keyup',  {'key':'KEY_HERE'}));但它不会被输入捕获,并且按钮保持禁用状态。我也尝试过input.focus()等等input.select()来集中注意力,因为这是我在几个地方发现的。但这也没有用。我不确定我在这里缺少什么,或者这是否可能。
查看完整描述

1 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

使用以下方式调度按键,


input.dispatchEvent(new KeyboardEvent('keyup',  {'key':'KEY_HERE'}));

或使用execCommand@wOxxOm 描述的,不会调度所有在<input/>标签中物理输入内容的事件。


因此,如果您有类似的用例,您需要确定应用程序正在监视/捕获哪个事件并单独调度该事件。change对我来说,在简单地设置值后调度事件对我有用。


input.value = "required string";


input.dispatchEvent(

  new Event('change', {

    bubbles: true,

    cancelable: true,

}))

input事件是另一种常用的。


查看完整回答
反对 回复 2022-10-21
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信