2011-11-25 41 views
-2

我需要通過使用JavaScript或任何其他方法禁用我的網站中的shift鍵事件。 下面是我的代碼:通過Java腳本禁用按鍵事件

 $(document).ready(function() { 
     document.onkeydown = checkKeycode 
     function checkKeycode(e) { 
      var keycode; 
      if (window.event) { 
       keycode = window.event.keyCode; 
      } 
      else if (e) { 
       keycode = e.which; 
      } 
      //alert(keycode); 
      if (keycode == 16) { 
       alert(keycode); 
       return false; 
      } 
      } 
     }); 
+1

這不是一個代碼請求論壇。解釋你的嘗試...添加一些代碼,顯示示例並解釋問題。 –

+1

@ Neon我需要簡要介紹.... –

回答

0

你可以試試這個:

jQuery(document).keydown(function(e){ 
    if(e.which === 16) { 
     e.preventDefault(); 
     return; 
    } 
    console.log(e.which); 
}); 

demo

使用Firebug並檢查控制檯輸出。

2

http://api.jquery.com/keypress/

此外,修飾鍵(如Shift)觸發事件的keydown但不是按鍵事件。

試試這個

$('#target').keydown(function(event) { 
    if (event.shiftKey) { 
    event.preventDefault(); 
    } 
} 
+0

感謝您的回覆,您的代碼不能在Firefox中工作 – Arun

6
// bind an event listener to the keydown event on the window 
window.addEventListener('keydown', function (event) { 

    // if the keyCode is 16 (shift key was pressed) 
    if (event.keyCode === 16) { 

     // prevent default behaviour 
     event.preventDefault(); 

     return false; 
    } 

}); 
+0

感謝您的回覆,您的代碼不能在Firefox中工作... – Arun

+0

在Chrome中也無法正常工作。 –

+0

@Macraze它真的取決於很多事情,事件是否正確授權?做任何其他代碼的權利事件?你怎麼調試?準確的預期行爲是什麼?等 –

1
document.onkeydown = function (e) { 
    var e = e || event; 

    if (e.shiftKey === true) { 
      return false; 
    } 
}; 
+0

上述代碼工作在IE和谷歌瀏覽器,但不是在Firefox中。 – Arun

+0

在Firefox 8.0.1中適合我使用http://jsfiddle.net/1stein/hvcQ7/你真的想禁用** Shift **鍵? –