单击与两个模态div关联的事件

时间:2012-07-09 20:39:44

标签: events html click overlay

我遇到与不同模态div上的点击事件相关的问题。

我有一个模态div'A',它显示了一个带有一些信息的叠加div。通过单击即按钮A来显示此div。因此,如果我在重叠的div之外点击它,我想要关闭它。

我有另一个div'B',它显示了一个覆盖div以及其他一些信息。通过单击即按钮B来显示此div。因此,当显示我是否在重叠的div外部单击时,我想要关闭它。

在这两种情况下,我都使用$(window).click()来管理它们。

问题是我需要当我点击按钮'A'时,它会出现相应的div,如果我点击按钮'B',我想要div'A'关闭,div'B'出现,反之亦然

如何处理多个模态div的多次点击事件?

Thanks.y

2 个答案:

答案 0 :(得分:1)

这可能是一个凝视:

$('#buttonA").click(function(){
      $(#divA").show();
      $(#divB").hide();
})

答案 1 :(得分:1)

我不确定这是不是你想要的,但是......

假设你的按钮和div是“叠加”类,并且有Rolando的例子中的ID(“buttonA”,“divA”;“buttonB”,“divB”等等):

$(".overlay").filter(":button").click(function() {
    var callid = /button(.+)/.exec($(this).attr("id"))[1];

    $("div.overlay[id$=" + callid + "]").show();
    $("div.overlay:not([id$=" + callid + "])").hide();
})

示例:http://jsfiddle.net/KXeXj/

唯一的问题是“在div外面点击以关闭它”部分;我尝试使用$(":not(.overlay)").click(function() {$("div.overlay").hide()}),但这似乎不起作用,因为它只是让div隐藏了你点击的内容。