gpt4 book ai didi

jQuery:如何知道表格行何时失去焦点?

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

在表行 ( <tr> ) 中,有多个输入元素。

当 tr 失去焦点时,我需要执行一些 JavaScript 代码(但当用户只是切换到同一 tr 中的不同输入元素时则不需要)。

我使用 jQuery。

如何跨浏览器做到这一点?

最佳答案

我想您正在寻找这种方法( demo ,在 Chr/Ff/IE10 中检查):

var delayedFn, blurredFrom;
$('tr').on('blur', 'input', function(event) {
blurredFrom = event.delegateTarget;
delayedFn = setTimeout(function() {
console.log('Blurred');
}, 0);
});
$('tr').on('focus', 'input', function(event) {
if (blurredFrom === event.delegateTarget) {
clearTimeout(delayedFn);
}
});

如您所见,我们使用 setTimeout 延迟对“真正模糊处理程序”(即本例中带有 console.log 的函数)的调用 - 并清除此值如果我们看到焦点停留在同一行,则超时。

我在这里使用委托(delegate),因此不需要每次都调用 closest(tr)。但它在这里还有另一个副作用,因为处理程序将正确处理动态添加到表中的输入。

关于jQuery:如何知道表格行何时失去焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16885880/

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