gpt4 book ai didi

javascript - jQuery 查找 (':focus' ) 未按预期运行

转载 作者:行者123 更新时间:2023-11-29 22:35:12 25 4
gpt4 key购买 nike

我正在制作一个使用 showTrackerhideTracker 函数在 hover 上滑入和滑出 View 的小部件。如果它包含一个聚焦的表单元素,我想防止它滑出 View ,所以我已经这样做了:

function hideTracker(){
if($('#tracker').find(':focus').length == 0){
$('#tracker').stop().hide();
}
}

很酷。现在,如果有焦点区域,鼠标恰好移出,它不会隐藏。不幸的是,这也意味着当该字段确实失去焦点时(并且该小部件再次隐藏的时候)它只是停留在那里。 unHover 事件已经过去了。

所以我添加了这个:

$('#tracker *').blur(function(){
hideTracker();
});

这也有效 - 有一个小错误,我需要帮助!

如果焦点从跟踪器中的一个元素移动到也在 #tracker 中的另一个元素,跟踪器将隐藏。我认为 if($('#tracker').find(':focus').length == 0) 会返回 false,因为下一个表单元素有焦点,但我猜是没有。

.blur() 是否会在下一个元素获得焦点之前触发?

我该如何解决这个问题?

最佳答案

这样的事情怎么样?

$('body *').focus(function(){
if(!$(this).is('#tracker *') && $('#tracker:visible').length != 0) hideTracker();
});

关于javascript - jQuery 查找 (':focus' ) 未按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5373854/

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