以编程方式发送键以使用dispatchEvent输入>]

问题描述 投票:2回答:2

我正在尝试根据用户操作将字符发送到输入元素。

我正在尝试将KeyboardEventdispatchEvent结合使用,但是无论我做什么,都行不通

例如:

let keyEvent = new KeyboardEvent();
keyEvent.key = 'a';
keyEvent.keyCode = 'a'.charCodeAt(0);
keyEvent.which = event['keyCode'];
keyEvent.altKey = false;
keyEvent.ctrlKey = true;
keyEvent.shiftKey = false;
keyEvent.metaKey = false;
keyEvent.bubbles = true;

不确定这是否正确,但是我已经按如下方式发送了它:

  document.querySelector('input').dispatchEvent(keyEvent);
  document.activeElement.dispatchEvent(keyEvent);
  document.dispatchEvent(keyEvent);

DEMO

如果我在单击按钮之前先关注输入内容,则实际上没有任何反应。有什么建议可能会出什么问题吗?

我正在尝试根据用户操作将字符发送到输入元素。我正在尝试将KeyboardEvent与dispatchEvent一起使用,但是无论我做什么,都无法正常工作,例如:let keyEvent = new ...

javascript dom-events keyboard-events custom-events
2个回答
4
投票

实际上,出于安全原因,将KeyboardEvent分配给input元素不会not


1
投票

基于您的代码,这里是input,但:-分派关键事件后,下一步是什么?听众是谁?-...我根本无法理解

© www.soinside.com 2019 - 2024. All rights reserved.