很明显的对this对象的理解错误,导致错误编码
出错代码实例,图省事我就用jQuery的ajax演示了
var mask = mui.createMask();
$(document).ajaxStart(mask.show);
$(document).ajaxStop(mask.close);
很常见的ajax请求开始遮罩,请求结束关闭遮罩,直接让mask.close作为ajaxStop的回调事件
然后很自然的close方法中的this就会是$(document)了,也不会有_remove方法了,抛出异常
Uncaught TypeError: Object #<HTMLDocument> has no method '_remove'
今天BUG报的有点多啊...这两天能确认了的bug赶紧把积分返还了吧,这么下去过不了下星期就又发不了bug了
1 个回复
DCloud_UNI_FXY
已修复,
确认为BUG。
分数本周会返还。
上述BUG的确为考虑不周。
不过通常不建议你这种用法。因为动态修改了函数的context。碰上这种考虑不周的情况,很容易出问题。
临时解决方案:
$(document).ajaxStart(mask.show.bind(mask));
$(document).ajaxStop(mask.close.bind(mask));
或者自己wrap一下
$(document).ajaxStart(function(){mask.show();});
$(document).ajaxStop(function(){mask.close();});