LayerDate渲染多个class出现闪现问题的解决
填写表单的时候有时候会需要添加一行表单的业务逻辑,而表单要用到LayerDate的话便不可避免的出现多个class的情况
这种情况下后面的class是无法渲染的,layerDate官网提出了解决方法:
//同时绑定多个 lay('.test-item').each(function(){ laydate.render({ elem: this ,trigger: 'click' }); });
但是这种方法依然不能解决,因为layDate 初始化的时候会自动生成一个 lay-key="",直接复制代码会把这个 lay-key 也一起复制过来,但是页面中如果有 lay-key 的值相同,就会发生冲突,造成弹窗一闪而过的效果。
如何解决呢?只用渲染的时候将lay-key属性删掉就可以了:
//添加一行
function add() { var $tr = $("#getContent").clone(); $("#list").append($tr); //重新分配lay-key lay('.test-item').each(function(){
laydate.render({
elem: this ,
trigger: 'click'
});
$('.test-item').removeAttr('lay-key')
});
}