父webview
this.mask = mui.createMask(function(){
plus.webview.currentWebview().children()[0].evalJS("window.myChess.closemask()");//关闭子页面蒙版
});
function showmask(){
this.mask.show();
}
子webview
this.mask = mui.createMask(function() {
plus.webview.currentWebview().parent().evalJS("window.createOnline.maskClose()");//关闭父webview的蒙版
});
function showmask(){
this.mask.show();
plus.webview.currentWebview().parent().evalJS("window.createOnline.maskshow()");//打开父webview蒙版的方法
}
子页面的操作是这样的:点击按钮分别显示了子webview和父webview的蒙版,这里没有问题;当我点击子webview或者父webview的蒙版时,父/子webview的蒙版也都会关闭,这里也没有问题;接下来问题来了:再当我点击按钮时父/子的蒙版出现之后就立即关闭了,不论重试多少次都是如此,希望官方能够帮忙解答一下!
4 个回复
DCloud_UNI_FXY
发个测试工程
追逐者 (作者)
测试demo
@DCloud_MUI_FXY
DCloud_UNI_FXY
不要用用这个mask,直接用webview的mask,我看了你的代码,你搞了个死循环,父子webview一直在循环close对方的mask。
//显示遮罩
plus.webview.currentWebview().setStyle({
mask: "rgba(0,0,0,0.5)"
});
//关闭遮罩
plus.webview.currentWebview().addEventListener("maskClick", function() {
plus.webview.currentWebview().setStyle({
mask: "none"
});
}, false);
追逐者 (作者)
虽然搞不懂为什么会死循环...不过还是感谢官方的解答。
DCloud_UNI_FXY
你的代码里,在父webview的mask的close里边执行了子webview的mask的close,而子webview的mask的close又执行了父webview的mask的close,导致两边一直在互相close对方的mask
2015-11-19 16:13
追逐者 (作者)
var mask = mui.createMask(callback);
难道这个callback其实是close触发的而不是点击触发的
2015-11-19 16:35