2017-08-03 2 views
1

javascriptまたはjQueryで任意のキーをトリガーできますか? F1ボタンまたはこのJavaScriptのトリガーキー

<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> 
+0

[私はJavaScriptでのSendKeysを行うことができます]と基本的に同じ質問(https://stackoverflow.com/questions/5988230/can-i-do-sendkeys-in-javascript)これではないです –

答えて

1

ようCtrl+sボタンをトリガするjavascriptのボタンをクリックしたときのようなしかし、これは常にブラウザを誘導しないEventTarget.dispatchEventやjQueryの.triggerでいくつかのキーが押されるのをDOMにバインドされたイベントハンドラをトリガすることが可能ですそのキーを押すユーザーに関連する動作このようにブラウザのヘルプを開くか保存ダイアログを表示することは、今日広く普及しているブラウザでは不可能です。これは、ブラウザベンダー側では一般的に賢明な設計上の決定です。ウィンドウ上でalt-F4またはwin-Lを押すことに関連したイベントをWebページが引き起こす可能性がある場合、濫用の扉を開くでしょう。

0

このような独自のキーボードイベント(しかし、あなたはオブジェクトにもっと多くの小道具を入れたいかもしれません)。

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

あなたがそこにそれを使用することはできませんので、Internet Explorerは、KeyboardEventコンストラクタをサポートしていないことに注意してください。うまくいけば、それをサポートする必要はありません:)

あなたの質問には記載されていませんが、あなたの目標は、保存やF1システムにバインドされているもののようなアプリケーションレベルのコマンドをトリガするかもしれないと思います。この方法はそれをしません。あなたのjs内のキーイベントリスナーにのみイベントを送信します。

MDN Creating_and_triggering_events