jQuery 选择器排除事件中的其他元素
jQuery selector excluding other elements in events
我有一个表单,我想在用户按 Enter 时阻止提交它
但是我想排除这个 "rule".
的 3 个输入
这样做我可以在按下 Enter 时阻止提交事件:
$(document).keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
但是我如何从这个规则中排除我的三个输入?
这是我尝试过的:
$(document).not("#input1", "#input2", "#input3").keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
还有这个:
$(document).keydown(function(event){
if(event.keyCode == 13) {
if ($(event.target).is('#input1') == false || $(event.target).is('#input2') == false || $(event.target).is('#input3') == false) {
event.preventDefault();
return false;
}
}
});
我的真正意图是防止在除这三个输入之外的所有输入上输入,但是当在其中一个输入中按下 Enter 时,我喜欢 运行 a trigger()
.
测试目标是否是您要排除的元素之一。如果这是真的,return 立即来自处理程序。您还需要调用 event.stopPropagation()
,否则事件将冒泡到其他不属于排除元素的元素。
$(document).keydown(function(event) {
if (event.keyCode == 13) {
if ($(event.target).is("#input1,#input2,#input3")) {
event.stopPropagation();
return;
}
event.preventDefault();
return false;
}
}
我有一个表单,我想在用户按 Enter 时阻止提交它 但是我想排除这个 "rule".
的 3 个输入这样做我可以在按下 Enter 时阻止提交事件:
$(document).keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
但是我如何从这个规则中排除我的三个输入?
这是我尝试过的:
$(document).not("#input1", "#input2", "#input3").keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
还有这个:
$(document).keydown(function(event){
if(event.keyCode == 13) {
if ($(event.target).is('#input1') == false || $(event.target).is('#input2') == false || $(event.target).is('#input3') == false) {
event.preventDefault();
return false;
}
}
});
我的真正意图是防止在除这三个输入之外的所有输入上输入,但是当在其中一个输入中按下 Enter 时,我喜欢 运行 a trigger()
.
测试目标是否是您要排除的元素之一。如果这是真的,return 立即来自处理程序。您还需要调用 event.stopPropagation()
,否则事件将冒泡到其他不属于排除元素的元素。
$(document).keydown(function(event) {
if (event.keyCode == 13) {
if ($(event.target).is("#input1,#input2,#input3")) {
event.stopPropagation();
return;
}
event.preventDefault();
return false;
}
}