keyCode 和哪些已弃用 - 那么为什么它不起作用?
keyCode and which are deprecated - so why is that not working?
根据MDN Web Docs KeyboardEvent and Google Updates KeyboardEvent key和code实现而keyCode和哪些 已弃用。
考虑到这一点,我应该能够按如下方式发送 keydown
事件:
document.dispatchEvent(
new KeyboardEvent("keydown", {
key: 'K',
code: 'KeyK',
shiftKey: false,
ctrlKey: false,
metaKey: false
})
);
不幸的是它不起作用,而如果我另外添加 keyCode 这个脚本就可以完美运行。带有 keyCode 的对象:
document.dispatchEvent(
new KeyboardEvent("keydown", {
key: 'K',
code: 'KeyK',
keyCode: 75,
shiftKey: false,
ctrlKey: false,
metaKey: false
})
);
我错过了什么吗? keyCode 和 which 已弃用,因此应该可以在没有这些元素的情况下创建工作事件。我找不到任何答案。
我正在使用 Google Chrome (87) 的当前版本。我通过向 YouTube 发送 k 密钥来测试此脚本以获取 play/pause 视频。
文档中的“已弃用”状态告诉您,您不应依赖那些在您收到的事件中存在的属性,因为浏览器开发人员 正计划停止将它们 包含在他们创建的事件中 。
但是,在这种情况下,您正在模拟 浏览器 通常执行的代码部分,在 creating 事件中.您和浏览器都无法知道 receiving 该事件要查找的代码。
如果您遗漏了已弃用的属性,则您正在模拟 未来的 浏览器,而您正在测试的 YouTube 网站目前可能无法使用该未来的浏览器.您最好设置 当前 浏览器会为该事件设置的所有属性。
请注意,YouTube 的开发人员虽然最终与 Chrome 的开发人员受雇于同一家公司,但他们之间的联系可能很少。他们将定期更新他们的代码以遵循当前的最佳实践 就像任何 well-运行 开发团队 一样,但这需要时间,并且必须在其他所有事情中优先考虑他们正在努力。
根据MDN Web Docs KeyboardEvent and Google Updates KeyboardEvent key和code实现而keyCode和哪些 已弃用。
考虑到这一点,我应该能够按如下方式发送 keydown
事件:
document.dispatchEvent(
new KeyboardEvent("keydown", {
key: 'K',
code: 'KeyK',
shiftKey: false,
ctrlKey: false,
metaKey: false
})
);
不幸的是它不起作用,而如果我另外添加 keyCode 这个脚本就可以完美运行。带有 keyCode 的对象:
document.dispatchEvent(
new KeyboardEvent("keydown", {
key: 'K',
code: 'KeyK',
keyCode: 75,
shiftKey: false,
ctrlKey: false,
metaKey: false
})
);
我错过了什么吗? keyCode 和 which 已弃用,因此应该可以在没有这些元素的情况下创建工作事件。我找不到任何答案。
我正在使用 Google Chrome (87) 的当前版本。我通过向 YouTube 发送 k 密钥来测试此脚本以获取 play/pause 视频。
文档中的“已弃用”状态告诉您,您不应依赖那些在您收到的事件中存在的属性,因为浏览器开发人员 正计划停止将它们 包含在他们创建的事件中 。
但是,在这种情况下,您正在模拟 浏览器 通常执行的代码部分,在 creating 事件中.您和浏览器都无法知道 receiving 该事件要查找的代码。
如果您遗漏了已弃用的属性,则您正在模拟 未来的 浏览器,而您正在测试的 YouTube 网站目前可能无法使用该未来的浏览器.您最好设置 当前 浏览器会为该事件设置的所有属性。
请注意,YouTube 的开发人员虽然最终与 Chrome 的开发人员受雇于同一家公司,但他们之间的联系可能很少。他们将定期更新他们的代码以遵循当前的最佳实践 就像任何 well-运行 开发团队 一样,但这需要时间,并且必须在其他所有事情中优先考虑他们正在努力。