2015-11-20 48 views
0

我希望能够使用外部按钮来切换覆盖对话框。问题是当覆盖对话框打开时,它阻止鼠标访问按钮。是否可以模仿Bootstrap模态响应而不使用其数据类?是否有可能使用CSS,jQuery或javaScript来解决这种模式行为?下面是代码:如何从外部关闭非模式覆盖对话框

<!DOCTYPE html> 
<html> 
<head> 
<link href="css/bootstrap.min.css" rel="stylesheet"> 
<style> 
    .nonmodals { 
     position: fixed; 
     top: 0; 
     left: 0; 
     width: 100%; 
     height: 100%; 
     z-index: 10000; 
    } 
</style> 
</head> 
<body onload="HideModals()"> 
<a type="button" onclick="ToggleReserve()" class="btn btn-primary">Toggle Overlay</a> 
<div id="reserveform" class="nonmodals" role="dialog"> 
<div class="modal-dialog"> 
<div class="modal-content"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times; </button> 
     <h4 class="modal-title">The Header</h4> 
    </div> 
    <div class="modal-body"> 
    <div> 
     <h3>Hello!</h3> 
     <form class="form-horizontal" role="form"> 
      <div class="form-group"> 
       <div class="col-sm-offset-2"> 
        <button type="submit" class="btn btn- primary">Submit</button> 
       </div> 
      </div> 
     </form> 
    </div> 
    </div> 
</div> 
</div> 
</div> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> </script> 
<script src="js/bootstrap.min.js"></script> 
<script> 
    function ToggleReserve() { 
     $("#reserveform").toggle(500); 
    }     
    function HideModals() { 
     $('.nonmodals').css('display', 'none'); 
    }  
    </script> 
</body> 
</html> 

回答

1

不知道你为什么会想这样做,但你可以用它来做到这一点的CSS是

pointer-events: none; 

将它添加到你的“备用形式”分区。任何鼠标点击都会经过div到下面的东西。如果你需要一些点击不会经过,你将不得不重新设置这些元素的指针事件样式。

+0

谢谢,它的工作原理! – Ash