单击事件 - 主文档和对话框jQuery

时间:2013-02-28 21:12:39

标签: javascript jquery events click

所以在我的主页上,我有一个自定义的工具提示,它只是一个包含隐藏的信息的div,当你选择一个按钮时,它会打开菜单。如果单击文档中的任何其他位置,则会隐藏该div。该代码看起来像这样。

$(document).on("click", function() {
    $("#supTooltip").fadeOut("fast", "linear");
});
$("#supervisorButton").on("click", function(e) {
    e.stopPropagation();
    return false;
});

单击此按钮后,您可以单击菜单中的多个不同选项。一个会打开一个对话框。在该对话框中,我还有一个类似的过滤器菜单。代码看起来一样,只是拉出了不同的ID。

$(document).on("click", function() {
    $("#filtersDiv").fadeOut("fast", "linear");
});
$("#filtersButton").on("click", function(e) {
    e.stopPropagation();
    return false;
});

我可以不这样做吗?我试图关闭点击事件,但它似乎不起作用。我在第二次代码迭代中使用了这个。

$(document).off("click");

任何帮助都会很棒。在过去的几个小时里,我一直在绞尽脑汁。

修改1:

请求jsFiddle。 http://jsfiddle.net/yDmAK/1/

这是有效的,但不同的是,menu2功能与menu1功能不在同一个文件中。该对话框使用load事件在单独的文件中填充数据,以便从单独的文件中提取。

这会导致问题吗?

1 个答案:

答案 0 :(得分:0)

我决定在另一个帖子上使用另一个user发布的其他方法。

$(document).mouseup(function (e)
{
    var container = $("YOUR CONTAINER SELECTOR");

    if (container.has(e.target).length === 0)
    {
        container.hide();
    }
});

这似乎可以解决问题,并且工作正常。