e.preventDefault();行为在Firefox中不起作用?

时间:2012-01-06 11:42:28

标签: events firefox key keydown preventdefault

我有处理关键事件的基本功能,一切都很好。但是,在Firefox 9.0.1中,我似乎无法阻止显示书签的默认事件。

是否有任何解决方案可以阻止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;                      
    }
});

1 个答案:

答案 0 :(得分: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