
html
<div id="showcontent" style="display: none">
hello layer
</div>
js:
layer.open({
type: 1,
title: "更新",
area: ["400px", "320px"],
content: $("#showcontent")
});
如果弹层content是某个DOM元素content:$(‘#showcontent’)
那么这里弹出层,遮罩会遮住到弹窗导致操作不了。
官网给出的说法是 ?如果弹层的内容content是某个DOM元素的话,要放在body的根节点下。
通过看html代码,可以看到生成的遮罩DOM元素的位置是body的子级,所以知道弹层的DOM要和遮罩的DOM 要在同一层。
所以这里再弹层的success的事件里面进行了处理,将遮罩的DOM位置挪动了一下,和弹层DOM元素同一级,代码如下:
layer.open({
type: 1,
title: "更新",
area: ["400px", "320px"],
content: $("#showcontent"),
success: function (layerobj) {
var mask = $(".layui-layer-shade");
mask.appendTo(layerobj.parent())
}
});
这样就行了
评价