Events e、 预防默认值();行为在Firefox中不起作用?

Events e、 预防默认值();行为在Firefox中不起作用?,events,firefox,key,keydown,preventdefault,Events,Firefox,Key,Keydown,Preventdefault,我有这个处理关键事件的基本功能,一切都很好。然而,在Firefox9.0.1中,我似乎无法阻止显示书签的默认事件 是否有任何解决方案可以防止FF中的默认行为 $(文档).keydown(函数(evt){ 如果(evt.which==66&&evt.ctrlKey){ 如果(evt.preventDefault){ evt.preventDefault(); }否则{ evt.returnValue=false; } 警报(“按下Ctrl+B”); 返回false; } }); 似乎是关于

我有这个处理关键事件的基本功能,一切都很好。然而,在Firefox9.0.1中,我似乎无法阻止显示书签的默认事件

是否有任何解决方案可以防止FF中的默认行为

$(文档).keydown(函数(evt){
如果(evt.which==66&&evt.ctrlKey){
如果(evt.preventDefault){
evt.preventDefault();
}否则{
evt.returnValue=false;
}    
警报(“按下Ctrl+B”);
返回false;
}
});

似乎是关于
警报的某种错误。试试这个:

$(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;                      
    }
});

现在没有为我打开书签工具栏。我想你实际上并不想发出警报,是吗?我想您可以调用您的方法,只要它不包含
警报

不,我没有。它现在可以工作了,警报似乎中止了整个客户端脚本。这就是原因,尽管使用console.log进行调试要好得多。谢谢老实说,我不知道alert为什么这么做。但是console.log通常更安全!