0

因此,在我的主页上,我构建了一个自定义工具提示,它只是一个 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 函数不在同一个文件中。该对话框使用加载事件将数据填充到单独的文件中,以便从单独的文件中提取数据。

这可能会导致问题吗?

4

1 回答 1

0

我决定使用另一个用户在不同线程上发布的不同方法。

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

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

这似乎起到了作用,并且工作正常。

于 2013-03-13T22:02:11.393 回答