解决layer.open后laydate失效的问题
作者:R鲜森
今天小编就为大家分享一篇解决layer.open后laydate失效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
如果你的open方式是1(html)的话这样是可以的,
如果是2(iframe)方式打开,你把注入的代码写在打开的界面就可以了不用这样写,open的参数type是有区别的,所以请注意:
今天在开发项目时候使用到了laydate,按照官方文档说明使用发现出现下面的问题:
1.在正常页面中使用laydate组件没有问题,点击可以正常显示出来
2.但是在layer.open打开一个窗体后就没有效果了
分析思路:由于页面的加载如果js在页面元素显示之前就执行,那么就会出现无法渲染组件的问题,所有决定等元素渲染后再执行js,
于是先看官方对layer的文档官方layer弹出窗文档,发现success参数说明:当你需要在层创建完毕时执行一些语句,可以通过该回调。
所有把对laydate的渲染放在这里即可,下面是success中的代码:
success: function(layero, index) {//成功后注入事件,不然js在页面完成完成之前就执行,点击没有效果 laydate.render({ elem: '#publishTime', //指定元素 type: 'datetime', //日期格式类型 }); }
最后记得使用到什么组件需要引入才可以。
以上这篇解决layer.open后laydate失效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。