2***@qq.com
2***@qq.com
  • 发布:2018-04-25 13:44
  • 更新:2018-04-25 14:57
  • 阅读:2907

mui 遮罩 createMask 问题

分类:MUI
function callback(){  
    console.log(num)  
    return false                          
};  
var mask2 = mui.createMask(callback);//callback为用户点击蒙版时自动执行的回调;  
mask2.show();//显示遮罩  
var num = 4;  
var timer = setInterval(function(){  
//console.log(num)                                    
    if(num > 0){  
        mui.toast(num);  
    };  
    if(num == 0){  
        mask2.close();  
        clearInterval(timer)  
    }                                     
    num = num - 1;                                        
},1000)

奇怪啊,我也没点击蒙版但是当定时完成 mask2.close() 时,自动触发了 callback....导致 close 不能关闭遮罩蒙版.................是bug????

2018-04-25 13:44 负责人:无 分享
已邀请:
追梦随想

追梦随想

mask.close = function() {  
            if (callback) {  
                if (callback() !== false) {  
                    mask._remove();  
                }  
            } else {  
                mask._remove();  
            }  
        };

close会执行回调函数,而你的回调函数返回false,阻止了遮罩关闭

  • 2***@qq.com (作者)

    哦,话虽如此,但他的叫法为“点击遮罩”回调函数,跟 close 应该不一回事....,我的目的是到时,手动关闭遮罩,就不应该close时触发回调...

    2018-04-25 14:40

2***@qq.com

2***@qq.com (作者) - 嗯嗯嗯,撂了吧,我写bug呢。

mask2.close()  
这个没起做用,但是触发了 callback
追梦随想

追梦随想

点击遮罩默认会关闭遮罩,如果不想让点击的时候关闭,那就在回调函数返回false,手动关闭遮罩用这个 mask._remove(); 好像是不执行回调函数的

  • 2***@qq.com (作者)

    啊?直接用 mask._remove() ,手册里没有啊,呆会我试试

    2018-04-26 14:31

  • 追梦随想

    源码里有就行了

    2018-04-26 15:22

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