Javascript 返回键不适用于许多文本区域

Javascript 返回键不适用于许多文本区域,javascript,return,key,textarea,Javascript,Return,Key,Textarea,我有一个表单,我已阻止用户使用enter/return键提交表单 表单上有两个文本区域,我希望允许enter/return键进行操作 我添加了以下代码以尝试解决此问题: 我引用的线程中的代码不适用于多个textarea-每个表单仅适用于一个textarea 但是,此代码仅适用于第一个文本区域。第二个文本区域中的回车键不起作用 我已经多次尝试让它在超过1个textarea中工作,但我所有的尝试都失败了 有什么建议吗 谢谢。您可以使用if来检查触发事件的节点是否不是文本区域。如果不是,则不允许使用e

我有一个表单,我已阻止用户使用enter/return键提交表单

表单上有两个文本区域,我希望允许enter/return键进行操作

我添加了以下代码以尝试解决此问题:

我引用的线程中的代码不适用于多个textarea-每个表单仅适用于一个textarea

但是,此代码仅适用于第一个文本区域。第二个文本区域中的回车键不起作用

我已经多次尝试让它在超过1个textarea中工作,但我所有的尝试都失败了

有什么建议吗


谢谢。

您可以使用if来检查触发事件的节点是否不是文本区域。如果不是,则不允许使用enter/return

试试这个解决方案

它确实禁用表单提交的enter键,并且允许enter键在所有文本区域中创建新行,如您的帖子所述

$(document).on("keypress", ":input:not(textarea)", function(event) {
    if (event.keyCode == 13) {
        event.preventDefault();
    }
});

第二个字段不允许Enter键,因为您明确阻止它在$event中触发。目标[0]!=$文本区域[0]。。。但你到底想做什么?是否希望用户能够在字段上按Enter键?期望的结果是什么?是否禁止两个字段按Enter键?是。允许用户在上按Enter键,但禁止用户在上按Enter键。您不能在文本区域中使用Enter/return键提交表单,为什么要阻止它?Taki-这是正确的!而且,不是我在问题/评论中规定的。文本区域中的回车键将在文本区域中创建新行!这在我的文本区不起作用!不可能复制!我的主题/问题是关于多个文本区域。我最初引用的另一个线程涉及一个textarea!这个代码对我不起作用。也缺少右括号。没有错误。输入键在文本区域和您的代码中都不起作用。您建议我将其更改为什么?当在文本区域内按输入键时,您的代码更改将提交表单-不应发生这种情况。enter键不应提交表单。文本区域内的enter键应生成一个新行。您更新的代码允许在文本区域内返回,这是正确的。但是我还需要禁用enter键来提交表单。您的代码允许用户使用enter键提交表单。
$(window).keydown(function(event){
   if((event.which== 13) && event.target.nodeName != 'TEXTAREA') {
        event.preventDefault()
        return false;
   }  
});
$(document).on("keypress", ":input:not(textarea)", function(event) {
    if (event.keyCode == 13) {
        event.preventDefault();
    }
});