Jquery禁用键盘键

时间:2012-01-10 14:47:04

标签: jquery html

是否可以使用jquery禁用某个键盘键(如星号或字符串)?

6 个答案:

答案 0 :(得分:12)

您无法禁用键击,但您可以使用jQuery捕获它并覆盖其操作(返回false)。以下示例捕获回车键。只需将13更改为您需要禁用的任何密钥代码。

$("input").keypress(function (evt) {

  var keycode = evt.charCode || evt.keyCode;
  if (keycode  == 13) { //Enter key's keycode
    return false;
  }
});

答案 1 :(得分:6)

我必须禁用所有键,但F11和ESC。所以我这样做了。认为这可能对某人有帮助。 :)

$(document).on('keydown',function(e)
{ 
    var key = e.charCode || e.keyCode;
    if(key == 122 || key == 27 )
        {}
    else
        e.preventDefault();
});

答案 2 :(得分:1)

处理onKeyDown,然后处理preventDefault

答案 3 :(得分:1)

我可以想到这样的事情:

// Bind this keypress function to the html (not sure about this) or body tags of your page
$("body").keypress(function (evt) {
//Determine where the character code is coming from
var charCode = evt.charCode || evt.keyCode;

if (charCode  == 13) { //Enter key's keycode, could be any other key
return false;
}
});

返回false,告诉浏览器不允许按下按键事件

答案 4 :(得分:0)

只需在HTML页面中添加OnKeyUp,Down-EventListener,如果按下的键是您要忽略的preventDefault

答案 5 :(得分:0)

您可以使用以下插件: $('#text_input').filter_input({regex:'[a-z]'});

http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input