shift+enter 在 textarea 中不起作用

Posted

技术标签:

【中文标题】shift+enter 在 textarea 中不起作用【英文标题】:shift+enter is not working in textarea 【发布时间】:2017-12-04 01:19:11 【问题描述】:

我尝试了几个代码,但仍然无法正常工作。

$(".chatboxtextarea").on('keypress', function(e)

  if(e.keyCode == 13 && !e.shiftKey)

    $('#file_name #fileLoader').show();
    console.log('loader div triggered!');

    if($.trim($(this).val()).length > 0)

      if ((entr === false) && (submt === false)) 
        sendMessageClient();
        entr = true;
      

    else
         $(this).focus();
    

  

); 

【问题讨论】:

目前还不清楚您要达到的目标。请说明您要做什么。 shift+enter 不起作用。点击后表单将提交。我尝试了 *** 代码。但还是不行。 if(e.keyCode == 13 && !e.shiftKey) 表示“如果输入键且未按下 shift” 【参考方案1】:

如果您想阻止创建新行,可以使用以下代码:

$("textarea").keydown(function(e)

    // Enter was pressed without shift key
    if (e.keyCode == 13 && !e.shiftKey)
    
        // prevent default behavior
        e.preventDefault();
    
);

(Copy paste from here)

这将防止在文本区域内按 enter(但不同时按 shift)时发生默认行为。

另外,答案中提到了this jsFiddle。

【讨论】:

谢谢。输入工作正常。但是在单击( shift+enter )之后,它不会创建新行。

以上是关于shift+enter 在 textarea 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

按下 ENTER 时禁用 Textarea 中的新行

如何只允许 shift+enter 在文本区域中返回新行?

将换行符添加到 textarea 而不是提交表单

如何让 Alt+Shift+Enter 在 WebStorm 中工作?

VueJS:如何防止 textarea 默认行为

Ctrl+Enter jQuery 在 TEXTAREA