jQuery:防止输入密钥
我试图阻止输入密钥被放入textarea,但它似乎不工作。jQuery:防止输入密钥
$('#comment').keyup(function(event) {
if (event.text.charCodeAt() == '10') {
event.preventDefault();
}
});
我已经写上jsfiddle.net,在那里你可以试试这个代码
每个人都有正确的答案:)
$('#comment').keypress(function(event){
if (event.keyCode === 10 || event.keyCode === 13)
event.preventDefault();
});
示范小
尝试用.keypress
和使用return false
;
祝你好运!
在事件中使用event.keyCode
:
$('#comment').keydown(function(event) {
if(event.keyCode == 13) return false;
//carry on...
});
为什么不是keydown事件? – 2011-01-20 23:30:10
@ŠimeVidas我想你可以使用`keydown`事件。 – 2011-01-20 23:32:29
$('#comment').keypress(function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
Wha? Enter键的键码是`13`,而不是`10`。 – 2011-01-20 23:27:53
尽管这里提供的答案将会防止某人输入回车,它不会阻止某人粘贴回车。
您需要对文本(在javascript或服务器端)进行一些后处理才能将其删除。
但问题是,为什么呢?为什么不简单地使用<input type="text"></input>
,它会自动处理,因为它是单行输入元素?
我不认为这个事件正在触发,我怎么知道'$('#comment')`是否正确地成为我想要的? – 2011-01-20 23:30:58
记住要挂钩的变化事件以及其他人已显示的键盘/向下/按键。在这里的每个解决方案中,人们仍然可以将换行符粘贴到textarea中,以防止需要删除它们;) – 2011-01-20 23:45:44