1,下面这个是官方的源码,运行起来会报错,Maximum call stack size exceeded; 原因是createMask的回调原本就是mask.close()时候触发的,这个写进去了就相当于递归调用,所以会报这个错误
var mask = mui.createMask(callback);//callback为用户点击蒙版时自动执行的回调;
mask.show();//显示遮罩
mask.close();//关闭遮罩
var mask = mui.createMask(function(){
mask.close();
});
mask.show();
2,下面的代码是修正过后的,是可以实现关闭遮罩的
var mask = mui.createMask(callback());//callback为用户点击蒙版时自动执行的回调;
mask.show();//显示遮罩
function callback(){
var mask = mui.createMask(function(){
mask.close();//关闭遮罩
});
本文分析了mui框架中遮罩层递归调用导致的最大调用堆栈大小超过错误,并提供了修正代码,避免了遮罩层关闭时的无限递归问题。
7232

被折叠的 条评论
为什么被折叠?



