layer弹窗放jquery对象被遮住了 电脑版发表于:2020/6/29 16:03 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()) } }); ``` 这样就行了