【Layui】laydate可能无法正常使用的原因

【Layui】laydate可能无法正常使用的原因

1.重复引用laydate.js导致

同一个页面重复引用两次laydate.js将导致render后依旧无法正常使用, 点击目标也不会有弹窗

实际情况

项目中使用对div进行load()的方式动态加载子页面, 父页面中已统一引用过一次laydate.js, 但在某个子页面中再次引用了laydate.js,致使该子页面无法正常使用laydate,且其余子页面正常

解决方案

删除重复引用的laydate.js即可

补充

仅同一个页面多次引用触发, iframe加载子页面不会触发


2.动态加载页面后lay-key重复导致

layui控件会在加载后对元素添加lay-key标签, 作为layui自己的标记. 如下图, 但加载动态生成的元素可能会导致已生成的元素lay-key重复的情况, 进而导致控件不可用(暂时只发现laydate)

在这里插入图片描述

实际情况

项目中动态加载页面后再初始化页面中的控件, 在多次加载后laydate控件出现点击无效的情况

解决方案

删除lay-key

在加载控件(laydate.render)之前或者之后删除lay-key均可

补充

实例代码

$(".ui-input-date").removeAttr("lay-key");


3. 元素id重复导致加载失败

因为id是唯一标记, 在针对元素id加载layui元素的时候, 如果该id已初始化layui将不会再次加载,

实际情况

犹豫没有事先提防, 项目页面中存在大量id重复的标签, 特别是子页面之间, 进而导致后加载的页面会出现laydate控件失效的情况

解决方案

元素使用不同的id (其实本就不应该出现相同的id…)

补充

laydate不允许对同一元素进行多次render, 仅第一次有效, 已初始化过的元素将被忽略, 但有其他解决方案


仅个人理解, 欢迎留言讨论和指导

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值