laydate 在layer弹出层里无法正常使用,点击日期框一闪却无法正常弹出日期选择

提问 未结
4 221
小丫
小丫 2018-7-11
悬赏:20飞吻
版本:layui 2.3.0 浏览器:
功能:点击新增按钮弹出表单,表单里面包含一个日期选择框,现在弹出后所有控件都能正常使用,就只有laydate日期无法使用,点击日期框快速一闪却无法正常弹出日期选择,偶尔获取焦点时会显示日期选择,90%是一闪无法正常选择日期,求大神帮忙看看,怎么解决
 $('#btnAdd').click(function () {
layerOpen('添加信息', $('#dvEdit'), 600, 550, function (dom,index) {
laydate.render({
elem: '#CreateTime',
value: '2018-07-11'
});
});
form.render(null, 'frmInfo');
});

layerOpen方法封装:
var layerOpen = function (title, ele, width, height, success) {
var ht = ele.html();
ele.empty();
width = width || 450;
height = height || 350;
layer.open({
type: 1,
title: title || '信息',
skin: 'layui-layer-rim', //加上边框
shadeClose: false,
shade: [0.5, '#393D49'],
maxmin: true, //开启最大化最小化按钮
area: [width + "px", height + "px"],
content: ht,
success: function (dom,index) {
if (success != null && success != undefined) {
success(dom,index);
}
}, end: function () {
ele.html(ht);
}
});
}
回帖
  • 贤心
    贤心 (管理员)
    2018-7-11
    content 不能直接获取 html(),否则将导致 ID 重复。
    详细看下文档相关说明: http://www.layui.com/doc/modules/layer.html#content
    0 回复
  • 小丫
    2018-7-12
    @贤心 我直接些那个div进去也不行,能弹出但是被灰色的遮罩层遮住了,没办法操作,如图效果,我没有定义任何全局样式,请帮忙看看


    layerOpen方法改成这样,直接用dom对象不用html也不行:
    var layerOpen = function (title, ele, width, height, success) {
    width = width || 450;
    height = height || 350;
    layer.open({
    type: 1,
    title: title || '信息',
    skin: 'layui-layer-rim', //加上边框
    shadeClose: false,
    shade: [0.5, '#393D49'],
    maxmin: true, //开启最大化最小化按钮
    area: [width + "px", height + "px"],
    content: ele, //这里之前是ele.html()
    success: function (dom,index) {
    if (success != null && success != undefined) {
    success(dom,index);
    }
    }, end: function () {

    }
    });
    }
    0 回复
  • 贤心
    贤心 (管理员)
    2018-7-12
    @小丫 把 content 指向的元素放在 body 中第一层节点上
    0 回复
  • 小丫
    2018-7-12
    @贤心 放在body第一层可以,但是我的页面都是套用模版页的,不能直接把这个div内容放到模版页的body那里,我要怎么做呢[疑问]
    0 回复