wenju
wenju
  • 发布:2016-12-19 23:03
  • 更新:2016-12-20 11:08
  • 阅读:4078

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

分类:HBuilder

我在app.js写了 document.addEventListener("plusready", function() {//TODO })
以前版本都是先执行app.js监听的plusready方法,再执行mui.plusReady的;
为什么今天更新后运行项目,就先执行mui.plusReady了呢??

2016-12-19 23:03 负责人:无 分享
已邀请:
wenju

wenju (作者) - https://www.mescroll.com -- 精致的下拉刷新和上拉加载组件

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

  • 猫猫猫猫

    恩,应该统一用plusReady的,另外plus提前注入好像是可选的

    2016-12-20 10:46

猫猫猫猫

猫猫猫猫 - 用户已离线

应该是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,那么就提前触发了回调

  • wenju (作者)

    谢谢指点 可是我并没有替换mui.min.js 只是升级HBuilder 然后和往常一样跑项目 我改改自己的代码 O(∩_∩)O谢谢啦

    2016-12-20 10:29

  • 猫猫猫猫

    mui.min.js里的这部分也并没有更改,改的是h5+,对plus提前注入的支持是也是新版的特性

    2016-12-20 10:33

Trust

Trust - 少说废话

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

  • 3***@qq.com

    你好,更新了hbuilder后,遇到了一些bug,请官方能收集下。

    http://ask.dcloud.net.cn/question/26605

    2016-12-20 17:04

该问题目前已经被锁定, 无法添加新回复