1***@qq.com
1***@qq.com
  • 发布:2017-02-28 14:33
  • 更新:2017-02-28 14:33
  • 阅读:2589

学习笔记自我小结(3)

分类:MUI

做一个实际项目,必然会涉及到多个页面的跳转刷新数据,所以建议页面跳转用mui.fire 进行传参,到另一个页面监听执行事件,然后执行数据
请求的逻辑函数,当然这里会有一些不注意的地方,重复绑定事件函数,比如obj.addEventListener(“click”, function() {}), 页面在来回跳转
的时候,必然会导致重复绑定类似于这样的事件,所以一定要解绑。

mui("父级元素").off("tap").on("tap", "子元素", function() {  
  
})

页面来回切换还有个别的问题,比如黑屏的情况,查了会资料,不晓得怎么更好的去解决,临时用了plus.webview.create(“index.html”),
objWebview.close(); 来替代 objWebview.hide() 。。 这非常的耗损性能。。

注意点:
一个页面跳转到一个页面再跳转到另一个页面,在第三个页面返回,或者操作完毕返回时,别忘了要 plus.webview.currentWebview().hide()。
来回监听函数绑定事件,要先解绑再绑定,不然会绑定多次,也就导致同一个事件会执行多次。
如果用click点击无法触发的时候,换成tap试试。
当前webview创建或者预加载一个webview,在跳转到创建或者预加载的那个webview时,不能hide()当前的webview,否则预加载的webview不能显示
出来,因为预加载webview 与 当前webview 是捆绑到一起的。

软键盘顶起父级webview的tab问题:
个人觉得是这样,首先官方讲的是软键盘下面是不可能覆盖元素的,软键盘导致了webview高度压缩,而子webview的bottom预先设定是50px, 因为这父webview的tab才得以显示出来,只要子webview设定为bottom为0,就会重新将父级webview覆盖起来,因为子webview的z-index层级比父级webview高。

var oldH = plus.android.invoke(plus.android.currentWebview(),"getHeight") ;  
window.addEventListener("resize", function() {  
			var newH = plus.android.invoke(plus.android.currentWebview(),"getHeight") ;  
			if(oldH - newH > 100) { //监控当前webview的变化  
				plus.webview.currentWebview().setStyle({top: '0px',bottom: '0px'});  
			} else {  
				plus.webview.currentWebview().setStyle({top: '0px',bottom: '50px'});  
			}  
		}) 
0 关注 分享

要回复文章请先登录注册