需求:弹框中 使用 日期组件,效果如图
问题:当鼠标按下的时候显示日期,松开鼠标日期又消失
网上找了半天,大多数说的解决办法有以下两种:
1) 参数: trigger: 'click' //采用click弹出,
很显然:文档上说input输入框 使用focus,但是为了解决问题,我也尝试了改为click,结果 日期连闪现都没有了,完全没有反应,失败。
2) 日期组件调用写在open的success方法里,觉的有道理,尝试了一下,代码如下
layer.open({
type: 1,
title:'添加',
area:['500px','600px'],
skin:'layer-extskin-overauto',
content: $('#popUpdate').html(),
success:function(){
laydate.render({
elem: '#expect_time'
});
}
});
结果还是失败
最终解决方法:
原来的弹框内容是
<div class="layui-row" style="display:none" id="popUpdate">
<!--code-->
</div>
后来改为:
<script type="text/html" id="popUpdate">
<div class="layui-row"> <!--注意:这要把style="display:none" 删除了-->
<!--code-->
</div>
</script>
然后日期组件调用还是要在open的success方法里面调用,代码 图2。
结果ok,日期组件出现。
ps:日期组件可以不放到success方法调用,但必须要在弹框出现之后再调用日期组件,所以保险起见是放在success方法里面。