我在app.js写了 document.addEventListener("plusready", function() {//TODO })
以前版本都是先执行app.js监听的plusready方法,再执行mui.plusReady的;
为什么今天更新后运行项目,就先执行mui.plusReady了呢??
- 发布:2016-12-19 23:03
- 更新:2016-12-20 11:08
- 阅读:4082
wenju (作者) - https://www.mescroll.com -- 精致的下拉刷新和上拉加载组件
自己解决了 我把app.js的document.addEventListener("plusready", function() {})改成mui.plusReady; 这样的话就会按照顺序执行; 也就是说不监听了 全部改成mui.plusReady;; 看源码确实说明 一个界面可以有多个mui.plusReady 只是触发一次而已
猫猫猫猫 - 用户已离线
应该是plus对象提前注入导致的,
mui.plusReady的内部实现是这样的:
$.plusReady = function(callback) {
if (window.plus) {
setTimeout(function() { //解决callback与plusready事件的执行时机问题(典型案例:showWaiting,closeWaiting)
callback();
}, 0);
} else {
document.addEventListener("plusready", function() {
callback();
}, false);
}
return this;
};
如果提前注入了plus,那么就提前触发了回调
Trust - 少说废话
plus会提前注入,但是plusready事件的触发时机没有变。
猫猫猫猫
恩,应该统一用plusReady的,另外plus提前注入好像是可选的
2016-12-20 10:46