0

Webアプリケーションの特定のコンテキストでDeleteキーが押されるたびに、「keydown」イベントを発生させようとしています。たとえば、オンラインファイルシステムを実装していて、そのビューを使用しているときに、キーダウンイベントをアクティブにします。

ただし、特定のアクションが実行されたときにページ上に表示される特定のポップアップもあります。これらのポップアップが表示されたら、キーダウンイベントを無効にします。これは、そのイベントが機能を妨げるためです。私が現在持っている作業イベントコードはこれを行いません:

$(document).keydown(function(event){
   if(event.which === 46 && ($('.selected').size() > 0)){
       saveDelete();
   }
});

このキーダウンイベントを特定の条件下で発生を停止させる方法はありますか?

4

3 に答える 3

2

.size()ではなく.length(括弧なし)が必要だと思いますか?

于 2012-06-08T16:49:22.007 に答える
0
  1. .lengthサイズの代わりに使用するようにコードを変更します。

  2. ポップアップが表示されている場合は、を呼び出すことでイベントハンドラーのバインドを解除できます。ポップアップが表示され.offていない場合、またはユーザーがポップアップを閉じた場合は、を呼び出してキーイベントを再度アタッチできます.on。これは、以前のリリースでjQuery1.7を使用している場合に機能します。.bind.unbind

于 2012-06-08T16:51:06.047 に答える
0

100%確信はありませんが、これを試してください-

window.onkeydown(function(){
//code goes here
});
于 2012-06-08T17:03:05.370 に答える