2012-01-06 8 views
1

私はキーイベントを処理するためのこの基本機能を持っています。しかし、Firefox 9.0.1では、ブックマークを表示しているデフォルトのイベントを防ぐことができないようです。e.preventDefault(); Firefoxで動作しない動作ですか?

FFでのデフォルト動作を防止するソリューションはありますか?

$(document).keydown(function(evt) {  
    if (evt.which == 66 && evt.ctrlKey) {        
     if (evt.preventDefault) { 
      evt.preventDefault(); 
     } else { 
      evt.returnValue = false; 
     }  
     alert("Ctrl+B pressed"); 
     return false;      
    } 
}); 

答えて

2

alertに関するいくつかの種類の不具合のようです。これを試してください:

$(document).keydown(function(evt) {  
    if (evt.which == 66 && evt.ctrlKey) {        
     if (evt.preventDefault) { 
      evt.preventDefault(); 
     } else { 
      evt.returnValue = false; 
     }  
     console.log("Ctrl+B pressed"); 
     return false;      
    } 
}); 

私のためにブックマークツールバーを開いていません。私はあなたが実際にしたくないと仮定alertですか? alertが含まれていない限り、あなたのメソッドを呼び出すことができると思います。

+0

いいえ、私はしません。今すぐ動作し、アラートはクライアント側のスクリプト全体を中止するようです。これが理由ですが、デバッグにconsole.logを使用する方がはるかに優れています。ありがとう! – optimista

+0

なぜ警報が正直であるかわかりません。しかし、console.logは通常より安全です! – BeRecursive

関連する問題