質問: new KeyboardEvent("keydown", {key : "h", ctrlKey: true}); btn.addEventListener("click", function(evt) { btn.dispatchEvent(pressEvent); }, false); })(this, document); ``` 具体的な想定としては `id="someBtn"`を押したらキーボートの`ctl + h`を押してソフトウェア上ので設定したショートカットキーの`ctl + h`を実行する。という物になります。 ブラウザはChromeでの使用ができればとりあえず良いのですが、どなたか良い方法をご存知でしょうか?
回答: ### ショートカットキーのエミュレーション JavaScript ではイベントを発生させる事は出来ても、ショートカットキーに付随する動作を模倣する事は出来ません。 それが可能ならば、いろいろと悪用が出来てしまいます。 * [Ctrl] + [T] を連打してタブを無数に増殖させる(Google Chrome) * [Ctrl] + [D] で強制的にブックマークに追加させる(google Chrome) ショートカットキーはブラウザによっても変わりますし、ユーザが任意で設定変更可能な範疇なので、ショートカットキーのエミュレーション(模倣)はユーザビリティ上も都合が悪いと思われます。 ### 他のアプリの挙動を制御する JavaScript ではブラウザ外のアプリケーションの挙動をコントロールする事は出来ません。 それを可能にした場合、勝手にメーラを立ち上げてメール業者にメールを送信されたり、PC内のファイルを不正に漏洩される恐れがあります。 Re: kphex さん