测试发现
A页打开B页 B打开A页
在A页里
$.plusReady(function()
{里加了
window.addEventListener('pageinit', function(event) {
var pwc = plus.webview.currentWebview();
app.log(pwc.id + "再次打开");
});
那么使用下面的打开页面方式
var pwg = plus.webview.getWebviewById(pageid);
if(pwg){
pwg.addEventListener( "hide", function(e){
//这里执行一次,但是重复A打开B B打开A A会侦听到执行 重复次数 的次数
mui.fire(pwg,'pageinit',param)
pwg.show('slide-in-right',300);
}, false );
pwg.hide('none');
}
else{
mui.openWindow(
{
id: pageid,
url: pageid+ '.html'
});
}
求大虾指点一下为什么会重复执行事件?
1 个回复
cC2015 (作者) - 职业电脑玩家
出现这种问题是因为pwg.addEventListener( "hide", function(e){
执行完毕以后 需要removeEventListener,不然会一直重复定义N个事件