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') 
      });
     }

 

posted @ 2018-10-21 21:49  郁冬  阅读(1322)  评论(0编辑  收藏  举报