【发布时间】:2021-04-05 06:16:01
【问题描述】:
我的代码如下。我有一个由类“.mytext”定义的文本区域,我想阻止用户在单击“输入”时进入新行。但即使在 event.preventDeafult() 之后,enter 仍然会将用户带到 textarea 中的下一行。我在这里有什么遗漏吗?
$(document).off("keyup", ".mytext");
$(document).on("keyup", ".mytext", function(event) {
if (event.which == 13) {
event.preventDefault();
$(this).siblings("#send_msg").trigger("click");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea class="mytext"></textarea>
【问题讨论】:
-
我给你做了一个sn-p。请添加缺少的相关 HTML
-
$(document).off("keyup", ".mytext");不需要 -
ID 必须是唯一的,因此您可以使用
$("#send_msg").trigger("click")- 如果您有更多这些,请更改为 class 并包装在 div 中并执行$(this).closest('div').find('.send_msg').trigger('click') -
@mplungjan 不,它是唯一的 ID。代码的那部分没有问题。虽然,我不明白为什么这个问题被标记为重复。您添加的链接,该问题的解决方案在我的情况下不起作用。因此,我的问题与该链接的问题不同。
-
这与您接受的答案相同
标签: html css textarea preventdefault enter