jquery 没有选择器的文档
jquery document with not selector
我在页面上有一些搜索字段。按下 'enter' 后,这些字段中的任何内容都将针对显示在 table.
上的数据集进行过滤
$("document").on('keyup', (e) => {
if (e.keyCode === 13) {
searchAndDraw();
}
});
我的问题是我在 td
s 中有一个 table #myTable
和一些 textareas
。在文本区域内点击 'enter' 也会触发搜索,因为 table 在文档内。
如何将此 keyup
事件应用于文档但排除 #myTable
?
我尝试了 $("document:not(#tliId)").on('keyup'...
但那不起作用。
您可以将其定位为在输入中使用 enter 并排除 textarea
$(document).on('keyup', ":input:not(textarea)", (e) => {
if (e.key === "Enter") {
console.log("Enter");
}
});
label {
display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label></label><input />
<label></label><textarea></textarea>
<label></label><textarea></textarea>
<label></label><input />
如果您不希望输入处于焦点状态并且他们可以在任何地方按下回车键,您可以检查目标是否是文本区域。
$(document).on('keyup', (e) => {
if (e.key === "Enter" && !$(e.target).is('textarea')) {
console.log("Enter");
}
});
label {
display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label></label><input />
<label></label><textarea></textarea>
<label></label><textarea></textarea>
<label></label><input />
我在页面上有一些搜索字段。按下 'enter' 后,这些字段中的任何内容都将针对显示在 table.
上的数据集进行过滤$("document").on('keyup', (e) => {
if (e.keyCode === 13) {
searchAndDraw();
}
});
我的问题是我在 td
s 中有一个 table #myTable
和一些 textareas
。在文本区域内点击 'enter' 也会触发搜索,因为 table 在文档内。
如何将此 keyup
事件应用于文档但排除 #myTable
?
我尝试了 $("document:not(#tliId)").on('keyup'...
但那不起作用。
您可以将其定位为在输入中使用 enter 并排除 textarea
$(document).on('keyup', ":input:not(textarea)", (e) => {
if (e.key === "Enter") {
console.log("Enter");
}
});
label {
display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label></label><input />
<label></label><textarea></textarea>
<label></label><textarea></textarea>
<label></label><input />
如果您不希望输入处于焦点状态并且他们可以在任何地方按下回车键,您可以检查目标是否是文本区域。
$(document).on('keyup', (e) => {
if (e.key === "Enter" && !$(e.target).is('textarea')) {
console.log("Enter");
}
});
label {
display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label></label><input />
<label></label><textarea></textarea>
<label></label><textarea></textarea>
<label></label><input />