jQuery:防止输入密钥

Jam*_*s T 41 html javascript forms jquery keypress

我试图阻止将enter密钥放入textarea,但它似乎不起作用.

$('#comment').keyup(function(event) {
  if (event.text.charCodeAt() == '10') {
     event.preventDefault();
   }
});
Run Code Online (Sandbox Code Playgroud)

kaj*_*ajo 86

我在jsfiddle.net上写了很少的演示,你可以尝试这段代码

每个人都有正确的答案:)

$('#comment').keypress(function (event) {
    if (event.keyCode === 10 || event.keyCode === 13) {
        event.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 就像一张纸条; 需要keyCode 10,因为按下Enter键时,iPhone上的Safari会发送键码10 (11认同)
  • @Bubby LOL接受了将其他人的代码复制粘贴到jsfiddle的答案? (3认同)

gil*_*ly3 14

您无法取消keyup活动.你可以取消keydownkeypress事件.在文档中,请注意在"事件信息"下,"取消"为"否"为keyup:

使用keydown允许您取消远多于键keypress,但如果您不想在取消键之后取消,keypress则是您想要的.幸运的是,输入键是keypress事件的可取消键之一.


Jac*_*kin 7

event.keyCodekeydown活动中使用:

$('#comment').keydown(function(event) {
   if(event.keyCode == 13) return false;
   //carry on...
});
Run Code Online (Sandbox Code Playgroud)