通过javascript禁用按键事件

时间:2011-11-25 12:39:49

标签: javascript asp.net javascript-events

我需要使用javascript或任何其他方法在我的网站中禁用shift keypress事件。 以下是我的代码:

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

4 个答案:

答案 0 :(得分:8)

// 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;
    }

});

答案 1 :(得分:3)

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

  

此外,修饰键(,如Shift )会触发keydown事件,但不会触发按键事件。

试试这个

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

你可以试试这个:

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

demo

使用Firebug并检查控制台输出。