使用最新版layui内置的layer时出现的问题

提问 未结
9 597
你的屏幕有睫毛
悬赏:5飞吻
问题:使用独立的layer时,用如下代码没问题,但使用layui内置的layer的open时出现样式丢失的现象。
公共部分的配置信息如下:
 ;!function(){
//无需再执行layui.use()方法加载模块,直接使用即可
var layer = layui.layer;
/**配置layer主题皮肤*/
layer.config({
skin: 'layui-layer-lan'
});
}();
html格式如下
<div id="add" style="display: none;" class="panel panel-default">
........
</div>
使用layer.open打开
layerIndex = layer.open({
type: 1,
title: "新增员工",
shadeClose: false,
shade: 0.3,
area: ['800px', '95%'],
content: $("#add")
});
可正常显示,但是在关闭时,style="display: none;"display丢失,导致内容会显示。
如下所示:

回帖
  • Andre_Z
    2017-8-22
    你是另外加载了jquery库吧,用layui自带的jquery就好,否则还得自己写处理。
    0 回复
  • Andre_Z
    2017-8-22
    这和是不是2.0没一点关系,layui中的layer,只要另外再加载个jquery而不用自带的,一直如此。
    var $=jQuery=layui.jquery;
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-8-22
    这种场景建议使用这种用法
    <script type="text/html" id="template">
    <div class="type1_page">我是在模板里的</div>
    </script>

    layer.open({
    type: 1,
    content: $('#template').html()
    });
    0 回复
  • @Andre_z 如果使用了内置jquery,那其他非layui组件依赖jquery就没法处理了啊,可有比较好的解决方案
    0 回复
  • @小魔方 因为也有用到vue.js,表单模型使用的是vue渲染的,这种方式会报错
    0 回复
  • @Andre_Z 解决了,谢谢
    0 回复
  • Andre_Z
    2017-8-22
    @你的屏幕有睫毛
    比如我下面加载3个js
    <@js path="/js/layui/layui.all.js"/>
    <@js path="/js/common.js"/>
    <#if showTree><@js path="/js/ztree/jquery.ztree.all.min.js"/></#if>
    下面的是用了jquery的,而common.js里面,加了一句
    var $=jQuery=layui.jquery;
    先定义了$,后面去使用,自然不会报错的。
    0 回复
  • @Andre_Z 嗯嗯,已经解决了,谢了
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-8-23
    不建议多个框架混用
    0 回复
本帖已设置禁止回复