Jquery:$(document).click在firefox中不起作用

时间:2012-12-04 23:47:47

标签: jquery firefox document

我确实遇到有关$(文件).click。

的问题

我正在处理的页面顶部有一个用户栏。在右上角是一个包含当前登录用户的用户名的框。单击它会打开一个对话框,其中包含注销,我的个人资料等。有些链接基本上就像Facebook一样。

您可以通过再次单击该框或单击文档($(文档).click)来关闭此弹出窗口。

它适用于Chrome,但Firefox存在一些问题。 Firefox将盒子本身解释为“文档”,并在我点击该框后立即关闭。这是愚蠢的,因为我有链接,我无法点击它们,因为FF正在点击框关闭。

知道如何找到解决方法吗?

编辑:一些代码

$(document).ready(function(){

/*
***** user options popup *****
*/

$("#userputrigger").click(function() {
    if ($("#userpopup").length > 0)
    {
        $("#userpopup").remove();
        $(".arrop").attr("src","/img/arrowd.png");
        $('#userputrigger').attr("title", "Show options");
        $(".pass").toggleClass("act");
    }
    else
    {
        $(".ui").append('<div id="userpopup"><div class="options"><table cellpadding="0" cellspacing="0"><tr><td class="icon"><img src="img/user.png" width="16" height="16" alt="My profile" /></td><td><a href="#">My profile</a></td></tr><tr><td class="icon"><img src="img/settings.png" width="16" height="16" alt="Settings" /></td><td><a href="#">Settings</a></td></tr><tr><td class="icon"><img src="img/calendar.png" width="16" height="16" alt="Watchlist" /></td><td><a href="#">Watchlist</a></td></tr><tr><td class="icon"><img src="img/prizeicon.png" width="16" height="16" alt="My contests" /></td><td><a href="#">My contests</a></td></tr><tr><td class="icon"><img src="img/music.png" width="16" height="16" alt="My beats" /></td><td><a href="#">My beats</a></td></tr><tr><td class="icon"><img src="img/coins.png" width="16" height="16" alt="Balance" /></td><td><a href="#">Balance</a></td></tr><tr class="last"><td class="icon"><img src="img/logout.png" width="16" height="16" alt="Logout" /></td><td><form action="" method="post"><input type="submit" value="Logout" /><input type="hidden" name="logout" value="1" /></form></td></tr></table></div></div>');
        $(".pass").toggleClass("act");
        $(".arrop").attr("src","/img/arrowuact.png");
        $('#userputrigger').attr("title", "Hide options");
    }
    return false;
});

$('#userpopup').click(function(e) {
    e.stopPropagation();
});

$(document).click(function() {
    if ($('#userpopup').is(':visible'))
    {
        $(".arrop").attr("src","/img/arrowd.png");
        $("#userpopup").remove();
        $(".pass").toggleClass("act");
        $('#userputrigger').attr("title", "Show options");
    }
});

});

它实际上适用于链接,但不适用于提交按钮“注销”。它刚刚在Firefox上关闭。

谢谢:)

1 个答案:

答案 0 :(得分:2)

假设您单击“类”设置中的div。 以下内容将阻止文档点击传播。

$('.settings').click(function(e) {
   e.stopPropagation();

   ...your stuff here...
});