2

我遇到了一个非常简单的问题,但不知道解决方案。我的问题是如何在按下回车键时阻止光标跳到 textarea 中的新行。单击回车键时,我希望文本区域内的光标不发生任何事情。

我用谷歌搜索了很长时间,也得到了一些关于 stackoverlfow 的建议,但没有解决我的问题。

我的代码是:

$(function(){

$('#test').keyup(function(e){
        if(e.keyCode==13){
            e.preventDefault();
        }       
    });
 }) 

其中 test 是 textarea 的 id。请有人帮助我。我将不胜感激。

4

2 回答 2

3

我建议:

$('#test').keydown(function(e){
    return e.which !== 13;
});

JS 小提琴演示

使用keydown( 而不是keyup) 的原因是,它在将字符添加到 中的值之前捕获事件textarea,基本上keyup捕获“为时已晚”而无法工作。

如果按下按钮,则return e.which !== 13基本上返回,否则允许输入键值(返回)。falseentertrue

于 2013-09-21T19:07:01.587 回答
1

keyup 为时已晚,使用 keypress:

$('#test').keydown(function(e){
    return e.which !== 13;
 });
于 2013-09-21T19:05:40.080 回答