gpt4 book ai didi

javascript - 是否可以在网页处理之前修改 KeyboardEvent?

转载 作者:行者123 更新时间:2023-11-30 20:50:24 25 4
gpt4 key购买 nike

我想弄清楚是否可以重新映射由 Web 应用程序定义的键盘快捷方式,因为那样可以解决这个问题:Frustration over Shift+Space YouTube keyboard shortcut when creating subtitles .

所以,我在想:是否有可能让 Chrome/Mozilla/... 扩展程序捕获和修改 KeyboardEvent (在这种情况下,只需清除 Shift 空格字符的修饰符),然后再将事件传递给 Web 应用程序?

我一直在寻找这样的扩展,但还没有成功。原则上可以吗?

编辑(响应): 恐怕调度新事件不会产生预期的效果,请参阅 wontfix bugreporta note here :

Manually firing an event does not generate the default action associated with that event. For example, manually firing a key event does not cause that letter to appear in a focused text input. In the case of UI events, this is important for security reasons, as it prevents scripts from simulating user actions that interact with the browser itself.

因此,在没有 Shift 修饰符的情况下重新分配相同的键对我来说不起作用(请参阅此 fiddle https://jsfiddle.net/rzh1p5qn/2/)。

最佳答案

在 JavaScript 中,你可以做很多奇怪的事情。不推荐这样做,它会产生错误,但你可以这样做,而且它可以工作。

您只需将 document.addEventListener 替换为您的功能(只需保留原始功能的副本)。为此,您应该首先在页面上添加您的脚本(在任何其他脚本附加事件之前)。

你的函数会有自己的条件,然后执行原来的函数。

您自己的函数将注册用户函数,但您应该将其包装在改变事件对象的条件中。

您可以在触发原始处理程序之前添加任何条件或更改事件。

关于javascript - 是否可以在网页处理之前修改 KeyboardEvent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48248205/

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