我试图阻止输入键放入textarea,但它似乎不起作用。
$('#comment').keyup(function(event) {
if (event.text.charCodeAt() == '10') {
event.preventDefault();
}
});
答案 0 :(得分:84)
我在jsfiddle.net上写了很少的演示文稿,您可以尝试使用此代码
每个人都有正确答案:)
$('#comment').keypress(function (event) {
if (event.keyCode === 10 || event.keyCode === 13) {
event.preventDefault();
}
});
答案 1 :(得分:14)
您无法取消keyup
活动。您可以取消keydown
和keypress
个活动。在文档中,请注意在“事件信息”下,“{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或服务器端)以删除它们。
但问题是,为什么?为什么不简单地使用<input type="text"></input>
自动处理这个问题,因为它是一个单行输入元素?
答案 5 :(得分:1)
尝试使用.keypress
并使用return false
;