基本的に、私はResig氏によるjQuery Hotkeysプラグインctrl+o
を使用して、などのショートカットをキャプチャして処理しています...
わかりました。概念がわからないかもしれませんが、ドキュメント内のどこかctrl+o
でトリガーされたものがドキュメントホットキーハンドラーによってキャプチャされるという印象を受けました。
たとえば、次のコードは一般的に機能します...
jQuery(document).bind('keydown', 'ctrl+o', fn);
ただし、ユーザーが入力ボックス内でホットキーをトリガーすると、惨めに失敗します。
次のことを行った場合にのみ機能します。
jQuery('body, input').bind('keydown', 'ctrl+o', fn);
新しい入力ボックスがDOMに追加されるたびに、いまいましいハンドラーをバインドする必要があるため、これは私の健康にかなり悪いことです。さらに悪いことに、CodeMirrorのような複雑なウィジェットの場合に何にバインドするのかわかりません。
私の問題が理にかなっているなら、おそらく私は間違ったアプローチを使用していますか?次のオブジェクトにもバインドしようとしましたが、機能しませんでした:window
、、、document
body
div[contains the whole page]
注意:ここで試してみることができます。