restore layer 出错及修复方式

提问 未结 精帖
0 513
Gordon
Gordon 2017-1-11
悬赏:5飞吻
需求:
需要通过一个按钮来打开layer的弹窗, 如果这个弹窗未被关闭,则还原之前打开的.

解决方案步骤:
1. 使用layer打开一个窗口后, 缓存该layer的id, 在下次点击按钮时判断是否有缓存id, 如果有则还原窗口, 没有就打开一个新的窗口.
2. 每次在layer销毁时(即 end 方法里)删除缓存的id.

问题复原步骤:
1. 通过绑定弹窗的按钮打开layer窗口.
2. 再次点击按钮报错.

错误信息:
定位在未压缩版layer.js的第280行
 var t = i("#" + s[0] + e), n = t.attr("area").split(",");
原因是该n值为undefined时调用了split方法.

修复方式:
var t = i("#" + s[0] + e), n = t.attr("area");
if (!n) {
return false;
}
n = n.split(",");
回帖
  • 消灭零回复
本帖已设置禁止回复
本周热议
没有相关数据
layui

微信扫码关注 layui 公众号