擦身而过
擦身而过
  • 发布:2016-04-01 15:38
  • 更新:2018-01-24 14:46
  • 阅读:7125

如何让点击mask时不关闭遮罩?

分类:MUI

主要用于form表单提交时,打开mask并显示提交提示框,现在的问题是,点击mask时会自动关闭遮罩,如何设置才能让它不被关闭,而是表单提交成功后通过代码进行关闭?

尝试了为mask指定回调函数但是并不管用

        mask = mui.createMask(function()  
	{  
		mask.show();  
	});

表单提交时:

        mask.show();  
	var wObj = plus.nativeUI.showWaiting("正在提交,请稍候",  
	{  
		modal : false, // 这里为何设置为false反而变成了模态?  
		back : "none"  
	});  
	  
        // 提交成功后关闭waiting窗口和mask  
	setTimeout(function()  
	{  
		wObj.close();  
		mask.close();  
	},2000);
2016-04-01 15:38 负责人:无 分享
已邀请:
秋天无风

秋天无风

监听maskClick事件

// 点击关闭遮罩层  
self.addEventListener("maskClick", closeMask, false);
		//关闭遮罩层  
		function closeMask() {  
			console.log('关闭遮罩层' +sharew.id);  
			//避免出现特殊情况,确保分享页面在初始化时关闭   
			if (!sharew) {  
				sharew = plus.webview.getWebviewById("goods/add_to_cart.html");  
				console.log(sharew.id);  
			}  
			if (sharew) {  
				sharew.hide('slide-out-bottom',300);  
				//sharew = null;  
			}  
			var ws = plus.webview.currentWebview();  
			console.log('关闭遮罩层' +ws.id);  
			ws.setStyle({mask:"none"});  
		}
3***@qq.com

3***@qq.com - 80后IT男

var mask=mui.createMask(function(){return mask.clickClose;}); //clickClose 自定义属性
mask.clickClose=false;

//测试用,可以使用在任何需要关闭的地方。
setTimeout(function()
{
mask.clickClose=true;
mask.close();
},2000);

//在显示地方再设置定义属性
mask.show();
mask.clickClose=false;
开始是在创建函数中 直接:return false; 可以实现禁止点击mask关闭。但调用mask.close(); 时又关不掉了,才想到这种方法。还是希望框架本身解决这种冲突

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