我有一个菜单栏,它在悬停时显示一个子菜单栏,并在单击关闭选项时退出。我想要有一个超时选项,这样子菜单会在5秒后自动关闭。我尝试使用.blur()处理失去焦点的主菜单,然后使用setTimeout(function() {},5000);处理超时部分,但事件没有触发。有什么建议吗?(函数(setTimeout())中包含的代码与用于手动退出菜单的代码相同)
$('#main-nav li a.main-link').blur(function() {
setTimeout(function () {
$('#main-nav li a.main-link').removeClass('active');
$('.sub-links').fadeOut();
$('#sub-link-bar').animate({
height: '0px'
});
$('#main-nav li a.close').fadeOut();
}
, 5000);
});发布于 2013-02-28 00:54:55
Blur不会在mouseout上触发,而是在元素失去焦点时触发(以前只是表单元素,现在是任何类型的元素)。您可能想尝试一下mouseleave,或者更好的mouseout。
https://stackoverflow.com/questions/15117719
复制相似问题