如何阻止光标跳转到textarea中的新行

时间:2013-09-21 19:03:37

标签: jquery

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

我用Google搜索了很长时间,并在stackoverlfow上得到了一些建议,但没有解决我的问题。

我的代码是:

$(function(){

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

其中test是textarea的id。请有人帮帮我。我将非常感激。

2 个答案:

答案 0 :(得分:2)

我建议:

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

JS Fiddle demo

使用keydown(而不是keyup)的原因是,在将字符添加到textarea中的值之前捕获事件,基本上keyup捕获工作“太迟了”。

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

答案 1 :(得分:1)

keyup为时已晚,请使用按键:

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