首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.blur()上的setTimeout?

.blur()上的setTimeout?
EN

Stack Overflow用户
提问于 2013-02-28 00:52:48
回答 1查看 1.7K关注 0票数 2

我有一个菜单栏,它在悬停时显示一个子菜单栏,并在单击关闭选项时退出。我想要有一个超时选项,这样子菜单会在5秒后自动关闭。我尝试使用.blur()处理失去焦点的主菜单,然后使用setTimeout(function() {},5000);处理超时部分,但事件没有触发。有什么建议吗?(函数(setTimeout())中包含的代码与用于手动退出菜单的代码相同)

代码语言:javascript
复制
$('#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);

});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-28 00:54:55

Blur不会在mouseout上触发,而是在元素失去焦点时触发(以前只是表单元素,现在是任何类型的元素)。您可能想尝试一下mouseleave,或者更好的mouseout

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15117719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档