1. 程式人生 > >layer彈層遮罩擋住窗體解決

layer彈層遮罩擋住窗體解決

使用程式碼:

<div>
<div>這裡面某個按鈕觸發彈層<div>
<div id='dialog' hidden='hidden'></div>
</div>
如果上面的按鈕觸發了彈層 layer.open 且content是某個DOM元素

content:$('#dialog')

那麼這裡彈出層,遮罩會遮住到彈窗導致操作不了。

 

官網給出的說法是  如果彈層的內容content是某個DOM元素的話,要放在body的根節點下。不能放在div裡面了。

 

我看了html程式碼,最後生成的遮罩DOM元素的位置是body的子級,所以知道彈層的DOM要和遮罩的DOM 要在同一層。

 

所以這裡再彈層的success的事件裡面進行了處理,將遮罩的DOM位置挪動了一下,和彈層DOM元素同一級,程式碼如下:

success:function(layero){
var mask = $(".layui-layer-shade");
mask.appenTo(layero.parent());
//其中:layero是彈層的DOM物件
}
這樣 彈層的遮罩DOM元素和彈層元素就在同一層了,就不會擋著彈層了。