jQuery:防止输入密钥

时间:2011-01-20 23:23:07

标签: javascript jquery html keypress html-form

我试图阻止输入键放入textarea,但它似乎不起作用。

$('#comment').keyup(function(event) {
  if (event.text.charCodeAt() == '10') {
     event.preventDefault();
   }
});

6 个答案:

答案 0 :(得分:84)

我在jsfiddle.net上写了很少的演示文稿,您可以尝试使用此代码

每个人都有正确答案:)

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

答案 1 :(得分:14)

您无法取消keyup活动。您可以取消keydownkeypress个活动。在文档中,请注意在“事件信息”下,“{1}}”的“取消”为“否”:

使用keyup可以取消远远超过keydown的密钥,但如果您在取消密钥之后不想取消,则keypress就是您想要的。幸运的是,输入键是keypress事件的可取消键之一。

答案 2 :(得分:7)

event.keyCode事件中使用keydown

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

答案 3 :(得分:3)

$('#comment').keypress(function(event) {
    if (event.keyCode == 13) {
        event.preventDefault();
    }
});

答案 4 :(得分:2)

虽然这里提供的答案会阻止某人输入回车,但不会阻止某人粘贴回车。

您需要对文本进行一些后期处理(在javascript或服务器端)以删除它们。

http://jsfiddle.net/we8Gm/

但问题是,为什么?为什么不简单地使用<input type="text"></input>自动处理这个问题,因为它是一个单行输入元素?

答案 5 :(得分:1)

尝试使用.keypress并使用return false;

祝你好运!