在javascript中触发键

时间:2017-08-03 04:24:17

标签: javascript jquery html

是否可以通过javascriptjQuery触发任何密钥?就像点击按钮时一样,javascript会触发F1按钮或Ctrl+s按钮,就像这样

<script>
function clickBtn(){
--Click the F1 button or Ctrl+s button--
}
</script>

<body>
<input type="button" onClick="clickBtn()" value="Click To Press F1 Button">
</body>

2 个答案:

答案 0 :(得分:1)

可以触发绑定到DOM的事件处理程序,以便使用EventTarget.dispatchEvent或jQuery .trigger进行某些按键操作,但这并不总是会导致与a关联的浏览器行为用户按下该键。使用当今广泛使用的任何浏览器都无法以这种方式打开浏览器帮助或打开保存对话框。这通常是浏览器供应商的理智设计决定,如果网页可以触发与在Windows上按下alt-F4或win-L相关的事件,它会打开很多滥用的大门

答案 1 :(得分:0)

您可以像这样发送自己的键盘事件(但您可能希望在对象中包含更多道具)。

window.dispatchEvent(new KeyboardEvent('keydown', {key: "F1", code: "F1"}))

请注意,Internet Explorer不支持KeyboardEvent构造函数,因此您无法在那里使用它。希望你不需要支持:)

您的问题中没有说明,但我猜测您的目标可能是触发应用级命令,例如保存以及F1系统上绑定的内容。这种方法不会这样做。它只会将事件发送给你的js中的关键事件监听器。

MDN Creating_and_triggering_events