17

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

4

2 に答える 2

37

$.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のドキュメントを参照してください

また、Christoferが述べているように、これは悪意のある方法で使用される可能性のある怪しげな動作と見なされる可能性があるため、すべてのブラウザと環境で機能するとは限らないこと注意ください。。私はこれ(Esc)をChrome、Safari、Opera、FF、IE9で正常にテストしました。<a>

于 2012-04-09T08:18:49.863 に答える
8

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

記事からの引用:

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

于 2012-04-09T08:02:00.013 に答える