繁体   English   中英

关闭切换外部点击

[英]Close Toggle on outside click

我对javascript和jQuery还是很陌生...如何通过在切换区域之外单击来关闭此div(我不希望用户必须使用关闭按钮)

代码如下:

 function toggleDiv(divId) {
 $("#"+divId).toggle();
 }

 function showonlyone(thechosenone) {
 $('.newnote').each(function(index) {
      if ($(this).attr("id") == thechosenone) {
           $(this).show(0);
      }
      else {
           $(this).hide(0);
      }
 });
 }

和HTML看起来像这样

<div class="note">

     <a id="myHeader1" href="javascript:showonlyone('newnote1');" >
          <img src="images/SN_NotesPage_14.png">
     </a>      

     <div class="newnote" id="newnote1">
          <a>
               <img src="images/SN_NotesPage_16.png">
          </a>
     </div>
</div>

谢谢

我通常要做的是向文档主体添加一个click事件监听器,以关闭覆盖。 为了防止通过单击来关闭覆盖,我向包含ev.stopPropagation();的覆盖添加了第二个click事件监听器。

因此,使用jQuery时,它看起来像:

$(document.body).bind('click.closeNote', function() {
    $('.newnote').hide();
});
$('.newnote').bind('click.closeNote', function(ev) {
    ev.stopPropagation();
});

另一种方法是添加一个覆盖整个页面的透明div(zIndex低于注释)。 然后,您可以在该div中添加一个click事件监听器,以关闭笔记。

编辑:请注意,上面的示例效果不佳,因为它在每次单击时都会执行选择器。 仅在显示便笺时绑定此事件,并在它们关闭时取消绑定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM