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元素和彈層元素就在同一層了,就不會擋着彈層了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM