我正在尝试使“弹出式” div在用户单击时消失。我的按钮上的这段代码可以正常工作:

$("#download-1").on("click", function () {
      $("#popupDiv").toggle("slow");
  });


问题是,您只能在单击按钮时使弹出div消失。我尝试使用以下代码段使div在您每次单击时都消失-但它不起作用。有人可以解释为什么吗?

if ($("#popupDiv").attr("display") == "block") {
      $(":not(#popupDiv)").click(function () {
          $("#popupDiv").toggle("slow");
      });
  }


HTML:

  <div class="button" id="download-1">
  <img src="Images/Download.svg" />
  </div>
  <div class="popupDiv" id="popupDiv">
      <div class="popup-levels"></div>
      </div>
   <div class="download-type-picker"></div>
 </div>

最佳答案

这是简单的解决方案。你可以试试。

$(document).mouseup(function (e){

  var container = $("#popupDiv");//your popupDiv id
  if (!container.is(e.target) && container.has(e.target).length === 0){
    container.hide();
  }

});

关于javascript - 单击div不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42542303/

10-10 06:57