首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击弹出元素外部时关闭bPopup

单击弹出元素外部时关闭bPopup
EN

Stack Overflow用户
提问于 2015-12-18 14:32:38
回答 1查看 1.1K关注 0票数 0

我已经使用bPopup (http://dinbror.dk/blog/bpopup/)插件在我的页面上弹出了一个div,一切正常,但是我希望当用户单击鼠标或在弹出div之外的移动触摸时,弹出关闭。

我尝试过使用这里建议的一些解决方案,并检查了bPopup文档,但似乎无法让它正常工作。

下面是HTML:

代码语言:javascript
复制
<div id="phone-pop">
 <table>
  <tr>
   <td>Head Office:</td>
   <td class="right">00000 000 000</td>
  </tr>
  <tr>
   <td>Offroad Mobile:</td>
   <td class="right">00000 000 000</td>
  </tr>
  <tr>
   <td>F3 Mobile:</td>
   <td class="right">00000 000 000</td>
  </tr>
  </table>
  <span class="button b-close"><img src="img/close.svg"></span>
</div>

<div id="email-pop">
 <table>
  <tr>
   <td>Name:</td>
   <td class="right">Please enter your name.</td>
  </tr>
  <tr>
   <td>Email:</td>
   <td class="right">Please enter your email address.</td>
  </tr>
  <tr>
   <td>Message:</td>
   <td class="right">Please enter your message for us.</td>
  </tr>
 </table>
 <span class="button b-close"><img src="img/close.svg"></span>
</div>

<div id="fb-pop">
 <div class="fb-page">Facebook Page Stream Here</div>
 <span class="button b-close"><img src="img/close.svg"></span>
</div>

以下是javascript:

代码语言:javascript
复制
;(function($) {

    $(function() {
      $('#phone').bind('click', function(e) {
        e.preventDefault();
        $('#phone-pop').bPopup({
            appendTo: 'form'
            , zIndex: 2
            , easing: ('linear')
            , escClose: true
            , transitionClose: true
        });
      });
    });

    $(function() {
      $('#email').bind('click', function(e) {
        e.preventDefault();
        $('#email-pop').bPopup({
            appendTo: 'form'
            , zIndex: 2
            , easing: ('linear')
            , escClose: true
            , transitionClose: true
        });
      });
    });

    $(function() {
      $('#fb').bind('click', function(e) {
        e.preventDefault();
        $('#fb-pop').bPopup({
            appendTo: 'form'
            , zIndex: 2
            , easing: ('linear')
            , escClose: true
            , transitionClose: true
        });
      });
    });

})(jQuery);

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-18 15:45:50

他们的演示页面http://dinbror.dk/bpopup/的诀窍很简单。它们使用另一个具有css属性的div。

代码语言:javascript
复制
z-index:9998;

弹出式窗口

代码语言:javascript
复制
z-index:9999;

div的代码是

代码语言:javascript
复制
<div class="b-modal __b-popup1__" style="position: fixed; top: 0px; right: 0px; bottom: 0px; left: 0px; opacity: 0.7; z-index: 9998; cursor: pointer; background-color: rgb(0, 0, 0);"></div>

然后你只需要一点javascript

jquery示例:

代码语言:javascript
复制
$('.b-modal').click(function(){
    $('#my-modal').hide();
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34357912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档