今天更新了HBuilder新版本,为什么plusready的执行顺序变了??紧急

我在app.js写了 document.addEventListener("plusready", function() {//TODO })

以前版本都是先执行app.js监听的plusready方法,再执行mui.plusReady的;

为什么今天更新后运行项目,就先执行mui.plusReady了呢??



2016-12-19 23:03 添加评论 分享
已邀请:
2

wenju - https://github.com/mescroll/mescroll.git -- 精致的下拉刷新和上拉加载js框架. 主流APP案例, 一套代码多端运行~ 问题咨询请发私信哈~

赞同来自: DCloud_客服_Trust moving

自己解决了 我把app.js的document.addEventListener("plusready", function() {})改成mui.plusReady; 这样的话就会按照顺序执行; 也就是说不监听了 全部改成mui.plusReady;; 看源码确实说明 一个界面可以有多个mui.plusReady 只是触发一次而已


1

瞳player - 前端,混合应用开发;微博:折腾笔记;

赞同来自: DCloud_客服_Trust

应该是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;
};
\n

如果提前注入了plus,那么就提前触发了回调


0

DCloud_客服_Trust - 少说废话

赞同来自:

plus会提前注入,但是plusready事件的触发时机没有变。


要回复问题请先登录注册