layui整合的layer

建议 未结
7 463
RestOnThis
RestOnThis 2017-12-18
悬赏:20飞吻
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<!--<script src="http://res.layui.com/layui/release/layer/dist/layer.js?v=3111"></script>-->
<!-- -->
<link rel="stylesheet" href="http://res.layui.com/layui/dist/css/layui.css" media="all">
<script src="http://res.layui.com/layui/dist/layui.all.js"></script>
</head>
<body>
<div id="dlg" style="display: none">对话框内容</div>
<a href="javascript:;" onclick="showDlg()">确定</a>
<script>
function showDlg() {
layer.open({
type: 1,
content: $('#dlg')
});
}
</script>
</body>
</html>
代码如上,当使用layui.all.js时,content引用的元素$('#dlg')无法在关闭弹出框时自动隐藏,而使用独立的layer.js时,可以自动隐藏。
回帖
  • layui 貌似 自带 layer 的效果。大哥要不要研究下文档
    0 回复
  • RestOnThis
    2017-12-19
    @baiwapak
    你试下我贴的代码,把layui.all.js和layer.js分别注释掉看看效果。我说得就是layui.all.js整合的layer有问题。
    0 回复
  • 嗯,,我的也是这个问题,,all.js 有问题,,.js就没问题
    0 回复
  • 在function(){}中,加上var $ = layui.jquery;这个就可以解决问题了
    0 回复
  • RestOnThis
    2017-12-19
    @会飞的鱼361
    确实可以,$('#dlg') 改成 layui.jquery('#dlg') 就没问题了,真是神奇的bug。
    0 回复
  • 贤心
    贤心 (管理员)
    2017-12-19
    你没必要单独引入一次 jQuery,去掉那个即可。$ 用 layui.$ 获取。
    0 回复
  • RestOnThis
    2017-12-19
    @贤心
    我是希望既可以传$('#dlg'),也可以传document.getElementById('dlg')。
    既然设计成必须用layui.$,那么应该在文档里写一下吧。
    0 回复
本帖已设置禁止回复