【发布时间】:2010-10-09 09:28:27
【问题描述】:
我想模仿一些事件,比如 Ctrl+D 或 Ctrl+S 这是我在 StackOverflow 上找到的一段代码,但这也不起作用
var evt = jQuery.Event("keypress"); evt.keyCode = 100; // d evt.ctrlKey = true; $(document).trigger(evt);【问题讨论】:
我想模仿一些事件,比如 Ctrl+D 或 Ctrl+S 这是我在 StackOverflow 上找到的一段代码,但这也不起作用
var evt = jQuery.Event("keypress"); evt.keyCode = 100; // d evt.ctrlKey = true; $(document).trigger(evt);【问题讨论】:
你不能这样做。如果 JS 能够触发那些与操作系统相关的事件,那将是一个令人难以置信的漏洞。实际上,浏览器必须向操作系统进程发出信号。
但是,您可以使用 JS 捕获这些按键并执行其他操作。因此,如果用户将浏览器窗口聚焦并键入 Ctrl + D,则 JS 可以中断并执行某些操作(受限)并阻止事件进入操作系统,但这仅适用于窗口也处于聚焦状态的情况。这是基于关键代码,而不是 Ctrl + D 绑定到任何特定操作系统事件的事实(不是)。
【讨论】: