Enter键上的HTML textarea换行符不起作用

时间:2019-01-09 10:28:08

标签: javascript jquery html css

我有一个文本区域,单击Enter时不会插入换行符, 我尝试使用以下代码,但是,当我按Enter键时,它将转到文本末尾并添加新行。

$("#descre").on('keydown', function(e) {
  var code = e.keyCode || e.which;
  if (code == 13) { //Enter keycode
    event.preventDefault();
    var s = $(this).val();
    $(this).val(s + "\n");
  }
});

我想按常规Enter键,例如jsfiddle

2 个答案:

答案 0 :(得分:1)

您已在函数中将e作为参数传递,但是在if块中,您正在做event.preventDefault(),将其更改为e.preventDefault()

//i try this one 

    $("#descre").on('keydown', function(e) {
        var code = e.keyCode || e.which;
          if(code == 13) { //Enter keycode
           e.preventDefault();
           var s = $(this).val();
           $(this).val(s);
          }     
         });

您最后要自己增加一行。那就是为什么它要插入额外的k = line

答案 1 :(得分:1)

我的textarea运行不正常,因此我使用代码接受正常行为的回车键:

$('#descre').keypress(function(e) {
  if (e.keyCode == 13) {
    e.preventDefault();
    this.value = this.value.substring(0, this.selectionStart) + "" + "\n" + this.value.substring(this.selectionEnd, this.value.length);
  }
});