【问题标题】:Click Event - Main Document and Dialog jQuery单击事件 - 主文档和对话框 jQuery
【发布时间】:2013-02-15 05:54:01
【问题描述】:

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

是否会导致问题?

【问题讨论】:

  • 您可能需要一个指向 jsfiddle 或在线示例的链接。
  • 我仍然不明白你的确切问题
  • 对不起各位,网上没有,所以我得提供一个jsfiddle或图片。
  • 提供了 jsFiddle。请检查编辑,谢谢。

标签: javascript jquery events click


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多