gpt4 book ai didi

javascript - 如何从 jQuery 事件处理程序中排除子元素?

转载 作者:行者123 更新时间:2023-11-30 17:24:03 24 4
gpt4 key购买 nike

我正在修改现有网页。我添加了一个 <textarea>进入页面,发现回车键没有按预期工作。

在花了相当多的时间搜索之后,我发现了以下内容:

$('form').keypress(function (e) {
if (e.keyCode == 13)
return false;
});

我需要尽可能多地保留现有功能。但是我需要为我的 <textarea> 禁用它. (看来我的是页面上唯一的 <textarea>

但是我该怎么做呢?我考虑过添加 .not('textarea')到上面的选择器。但这不起作用,因为处理程序在表单上,​​而不是文本区域。

我可以排除 <textarea>来自上面的过滤器?

最佳答案

jsBin demo

您可以简单地定位输入

$('form input').keypress(function (e) {
if (e.which == 13) e.preventDefault(); // Don't misuse return false
});

文本区域将像往常一样用回车键继续

取决于用例。

如果您想确保没有刹车,请使用:

$('form *:not(textarea)').keypress(function (e) {
if (e.which == 13) e.preventDefault();
});

其中 * 以每个 child 为目标,而 :not 选择器排除了所需的 child 。

还有一个例子:

$('form *').keypress(function (e) {
if (e.which == 13 && this.tagName!=="TEXTAREA") e.preventDefault();
});

关于javascript - 如何从 jQuery 事件处理程序中排除子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24619021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com