我有一个菜单栏,在悬停时显示子菜单栏,并在单击关闭选项时退出。我想要一个超时选项,以便子菜单在5秒后自行关闭。我试图使用.blur()为主菜单失去焦点,然后setTimeout(function(){},5000);对于超时部分,但事件未触发。有什么建议? (setTimeout(function()中包含的代码与手动退出菜单的代码相同)
$('#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);
});
答案 0 :(得分:5)
模糊不会在mouseout上触发,但是当元素失去焦点时(以前只是表单元素,现在是任何类型的元素)。您可以尝试mouseleave
或更好地mouseout
。