layer彈層遮罩擋住窗體

Layer被遮罩覆蓋,layer擋住頁面層

在用 layer 彈層的時候出現遮罩 layui-layer-shade 擋住彈層窗體的事情,網上找到的方法都是去找到 layui-layer-shade 遮罩層然後插入到彈層中去:

var mask = $(".layui-layer-shade");
mask.appendTo(layero.parent());

但是這麼寫之後bug並沒有完全的修復此問題,還是會偶發性發生此bug,查看官方文檔:

/*
 如果是頁面層
 */
layer.open({
  type: 1, 
  content: '傳入任意的文本或html' //這裏content是一個普通的String
});
layer.open({
  type: 1,
  content: $('#id') //這裏content是一個DOM,注意:最好該元素要存放在body最外層,否則可能被其它的相對元素所影響
});

看第二個 layer.open:這裏 content 是一個DOM,注意:最好該元素要存放在 body 最外層,否則可能被其它的相對元素所影響

但有些時候頁面的前端的 view 頁面都是頭部尾部共用的,所以直接放到 body 最外層很麻煩,於是還是採用傳入 html 到 content 中的方法來解決此問題

注意:在進行 dom 操作的時候,記得通過已經彈出來的頁面父級 layero.selector 找到相應的中的元素而不是原來的已經隱藏的元素!

例:

layer.open({
  content: $('#id').html(),
  success: function(layero, index){
    console.log(layero, index);
    console.log(layero.selector);
  }
}); 

 


文章有幫助,請點贊支持一下,謝謝。

如果沒有解決問題,可以到layui交流羣(qq)中討論一下:683048836

文章推薦:

layui彈層同時彈出多個 / layer.open() 同時存在多個

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章