gpt4 book ai didi

javascript - 在 Chrome 上触发键盘事件

转载 作者:行者123 更新时间:2023-12-03 00:53:32 24 4
gpt4 key购买 nike

我正在尝试在 Chrome 上使用 JavaScript 向页面触发键盘事件。我有一个曾经在 Firefox 上运行的方法:

pressKey = function(key, shift) {
var evt = document.createEvent('KeyboardEvent');
evt.initKeyEvent("keypress", false, true, null, false, false,
shift, false, keyCode(key), key.charCodeAt(0));
document.dispatchEvent(evt);
}

其中 key 是所需的键,keyCode 将小写字母更改为大写字母,并调用 charCodeAt()。

我的问题是 Safari/Chrome 上的事件没有 initKeyEvent,而是 initKeyboardEvent。我注意到的主要区别是,您必须将 key 作为 keyIdentifier(看起来像 unicode 字符)传递,而不是传递 keycode 和 keychar。尽管如此,我仍然无法使其发挥作用。

我还尝试了 here 中描述的 JQuery 方法没有成功。

编辑:我进一步调试了一下,似乎 Chrome 上的事件确实触发了监听器,但 keyCode/charCode 始终为 0。我尝试设置 evt.keyCode 或 evt.charCode 也没有成功。

最佳答案

我已经追踪到 bug on Webkit其中创建的事件仅包含 KeyIdentifier,但没有 keyCode/charCode,如 browser source code 上所示。 。似乎有一个补丁可以解决这个问题。所以我想这不再是一个合适的问题......

关于javascript - 在 Chrome 上触发键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com