回答

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