gpt4 book ai didi

javascript - 检查是否有任何输入未在表单中聚焦或处于事件状态

转载 作者:行者123 更新时间:2023-11-30 16:16:15 26 4
gpt4 key购买 nike

在这种情况下我不能使用表单,但我有一组输入元素。我有一个表格行,每个 td 都是一个输入。一旦失去焦点,我想检查是否有其他人处于事件状态,如果没有,我想运行一些代码。

js

$(document).on("blur", ".table-row", function(e) {
var $tr = $(e.currentTarget),
$inputs = $tr.find("inputs);

$inputs.each(function(input) {
$tr[input].is(":focus");
});
});

我的想法是创建一个编辑表单。我想在表单编辑完成后呈现一些不同的 html。

最佳答案

您将使用 $('.table-row input:focus').length 检查它。如果长度为 0,则没有焦点输入。

但如果您在事件触发后立即检查它,您将永远无法正确判断,因为事件在输入模糊之后触发,但在其他输入获得焦点之前触发。

因此,您可以在即时超时中结束您的评估。它会在 0 秒后触发,但会在执行其他同步代码后触发。

$(document).on("blur", "input", function(e) {
setTimeout(function(){
if ($('input:focus').length) {
console.log(true);
} else {
console.log(false);
}
}, 0);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr>
<td><input type="text"></td>
</tr>
<tr>
<td><input type="text"></td>
</tr>
<tr>
<td><input type="text"></td>
</tr>
<tr>
<td><input type="text"></td>
</tr>
<tr>
<td><input type="text"></td>
</tr>
</table>

关于javascript - 检查是否有任何输入未在表单中聚焦或处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35487600/

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