回答

0

像这样Disable F5 key in Safari 4

,但使用的keyCode 119:

<script> 
var fn = function (e) 
{ 

    if (!e) 
     var e = window.event; 

    var keycode = e.keyCode; 
    if (e.which) 
     keycode = e.which; 

    var src = e.srcElement; 
    if (e.target) 
     src = e.target;  

    // 119 = F8 
    if (119 == keycode) 
    { 
    alert('nope') 
     // Firefox and other non IE browsers 
     if (e.preventDefault) 
     { 
      e.preventDefault(); 
      e.stopPropagation(); 
     } 
     // Internet Explorer 
     else if (e.keyCode) 
     { 
      e.keyCode = 0; 
      e.returnValue = false; 
      e.cancelBubble = true; 
     } 

     return false; 
    } 
} 
document.onkeypress=document.onkeydown=document.onkeyup=fn 
</script> 
+0

不工作的家伙:( – 2011-04-04 15:41:39

+0

@Blas再试 – mplungjan 2011-04-04 15:45:48

+0

当我点击页面它worls?(多德?)。 。但是当我点击地址栏或者点击内部pdf时没有工作。 – 2011-04-04 15:47:41

1

您是否尝试过这样的事情?

 
$(document).keydown(function(e){ 
    if(e.which === 119){ 
     return false; 
    } 
}); 

我创建了一个沙箱的jsfiddle在那里你可以测试它(作品):

http://jsfiddle.net/alzclarke/yW6H3/

0

下面的代码适用于大多数的浏览器,而我还没有发现任何不兼容的一个呢。让我知道如果它不起作用。

关键是要将目标事件重新映射到任何其他原始事件的琐碎的关键,即使Fn键行为正常的关键。

$(document).bind("keydown", function (evt){ 
    var keycode = (evt.keyCode?evt.keyCode:evt.charCode); 
    //alert(keycode); 
    switch(keycode){ 
     case 119: //F8 key on Windows and most browsers 
     case 63243: //F8 key on Mac Safari 
      evt.preventDefault();         
      //Remapping event 
      evt.originalEvent.keyCode = 0; 
      return false; 
      break; 
    } 
}); 

参考上跨浏览器的问题键代码和说明可以在这里找到: quirksmode