javascript单击并隐藏问题firefox

时间:2012-05-09 08:12:40

标签: javascript jquery hide

我正在尝试创建一个菜单,当您点击页面上的任何其他位置时,div将被隐藏。这适用于除Firefox之外的所有内容。在firefox中,当你单击该部分中的一个链接时,它将不会转到该链接,它只是关闭div。

代码:

$(document).mouseup(function(e){//removes menu when clicked on any other part of page
    if($(".menuone:visible").length > 0  ){
        $('.menuone').hide();
    }
});

HTML:

<div class="menuone">
<div class="col1">
<ul><li>Example link</li></ul>
</div>
</div>

2 个答案:

答案 0 :(得分:2)

您应该设置一个可以跟踪.menuone div的悬停状态的变量。

然后你的if语句将是:

if($(".menuone:visible").length > 0 && !menuHover )

这应该可以解决问题。

希望有所帮助:)

修改

var menuHover = false;

$(".menuone").bind('mouseenter mouseleave',function(e){
    menuHover = e.type == 'mouseenter';
});

答案 1 :(得分:0)

我喜欢John Resig's网站上提到的想法:

var outerPane = $details.find(".details-pane-outer"),
    didScroll = false;
$(window).scroll(function() {
    didScroll = true;
});

setInterval(function() {
    if ( didScroll ) {
        didScroll = false;
        // Check your page position and then
        // Load in more results
    }
}, 250);