我使用bPopup(http://dinbror.dk/blog/bpopup/)插件在页面上弹出了一个div,并且一切正常,但是我希望在用户单击鼠标或在弹出窗口之外进行移动触摸时关闭弹出窗口上分区
我尝试使用此处建议的一些解决方案,并查看了bPopup文档,但似乎无法使其正常工作。
这是HTML:
<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:
;(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);
在此先感谢您的帮助。
最佳答案
他们的演示页面http://dinbror.dk/bpopup/上的技巧很简单。
他们使用另一个具有css属性的div
z-index:9998;
弹出窗口有
z-index:9999;
div的代码是
<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的例子:
$('.b-modal').click(function(){
$('#my-modal').hide();
});