web-dev-qa-db-ja.com

jqueryによってEscapeキーを押すイベントを呼び出す

質問を明確にしたいと思います。キー押しの決定と混同しないでください。ユーザーにキーを押してほしくない。逆に、Escapeキーを押すイベントを発生させるスクリプトを実行したいと思います。助けてください!

16
Lakshay

$.Event()を使用して、keyCodeが27(Escである必要があります)のkeydownイベントを含むEventオブジェクトを作成できます。

var esc = $.Event("keydown", { keyCode: 27 });
$("body").trigger(esc); // change body to the element where you'd like to execute the escape key press.

この実用的なデモおよびjquery.comのdocsを参照してください

また、クリストファーが述べたように、 shady could 悪意のある方法で使用される-外部href<a>のクリックイベントをトリガーするのと同じようには発生しません。 Chrome(Safari、Opera、FF、IE9)でこれ(Esc)のテストに成功しました。

37
m90

セキュリティ上の理由から、一部のブラウザ(すべてではない場合があります)では、keydownイベントを発生させることができません。詳細は この記事 を参照してください。

記事からの引用:

Safari/Chromeでは、keyCodeプロパティとcharCodeプロパティが読み取り専用になるため、手動でイベントを発生させるときに特定のキーをシミュレートすることはできません。

8