gpt4 book ai didi

javascript - $ ('form:not(.some-class)' ).keydown 仍在将 keydown 事件应用于 .some-class

转载 作者:行者123 更新时间:2023-12-02 15:29:04 27 4
gpt4 key购买 nike

JQuery 的“:not”选择器不会阻止要排除的类(装饰元素)触发 .keydown 事件。为什么?

在以下代码中,当我按下 .newOwnerEntryInput 字段中的某个键时,我希望仅看到“1”的警报。但我看到警报“1”和“2”。

Javascript:

$('.newOwnerEntryInput').keydown(function (event) {
alert('1');
});

// Prevent Enter from submitting form.
$('form:not(.newOwnerEntryInput)').keydown(function (event) {
alert('2');
});

HTML:

<li style="position: relative">
@Html.DropDownList("cftMemberID", null, String.Empty, new { @class = "actionOwnerDropDown hidden" })
<div class="newOwnerEntryDiv">
<input class="newOwnerEntryInput" />
<div class="float-right closeNewOwner">
<img src="~/Images/cancel_x.png" alt="close" />
</div>
</div>
</li>

我尝试了各种引号样式,有或没有用引号包围排除的类,以及在类后面添加“input”,如 $('form:not(.newOwnerEntryInput input)').keydown

谢谢!

最佳答案

感谢那些提供帮助的人。我确实需要表单来触发所有类型的输入字段,而不仅仅是那些类型输入字段。所以就这样了。

以下是解决我的问题的方法:

$('form').keydown(function (event) {
if (! event.which.hasClass('.newOwnerEntryInput')) {
alert('2');
}
});

在这种情况下,对于我的 .newOwnerEntryInput 类的输入,如果按下某个键,它不会触发该事件并将“2”推送到警报屏幕。

再次,谢谢,我花了几个回复,所有这些回复都有一个解决方案,让我自己回答这个问题。 :)

关于javascript - $ ('form:not(.some-class)' ).keydown 仍在将 keydown 事件应用于 .some-class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33485234/

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