单击并隐藏HTML单击时弹出元素

时间:2013-10-04 10:24:03

标签: jquery

我有以下HTML代码:

<a href="#language">English</a>
<div class="popup" id="language">
  Portuguese | English | French
</div>

我想在点击链接时打开/关闭div。

但我还需要以下行为:

1 - 当我点击链接外的某个地方时,弹出窗口应隐藏。

2 - 当我打开Popup时,我希望任何当前打开的弹出窗口关闭;

我尝试了以下内容:

$('a').click(function (event) {
  event.preventDefault();
  $($(this).attr('href')).toggle();
});
$("html").click(function (event) {
  $("div.popup").hide();
});

但HTML部分使我的代码停止工作。

以下是一个示例:http://codepen.io/mdmoura/pen/sAeEJ

我该如何解决?

谢谢你, 米格尔

1 个答案:

答案 0 :(得分:2)

问题是事件传播

$('a').click(function (event) {
    $($(this).attr('href')).toggle();
    return false;
});
$("html").click(function (event) {
    $("div.popup").hide();
});

演示:Fiddle

相关问题