7***@qq.com
7***@qq.com
  • 发布:2018-07-03 10:02
  • 更新:2018-07-03 10:30
  • 阅读:2534

使用原生标题,自定义右上角按钮事件问题

分类:HTML5+

有2个页面A页面和B页面, A页面调用方法打开B页面, 使用原生Title
同时绘制右上角按钮,点击按钮事件,怎么才能在B页面调用呢?

现在打开B页面, 右上角的按钮,写到A页面里面了

具体代码如下

/*  
 * 打开一个新窗口,右侧带图标的  
 * id=窗口的ID  
 * urls=路径  
 * title=原生标题中间的字  
 * callFun=右上角按钮点击回调方法  
 * iconcode=右上角自定义按钮的unicode字符表示必须'\u'开头,如"\ue123"(注意不能写成"\e123")。  
 * */  
var goWinRbtn = function(id, urls, title,callFun,iconcode) {  
    mui.openWindow({  
        url: urls,  
        id: id,  
        styles: { // 窗口参数 参考5+规范中的WebviewStyle,也就是说WebviewStyle下的参数都可以在此设置  
            bounce: 'vertical',  
            titleNView: { // 窗口的标题栏控件  
                homeButton: false, //可取值: "true" - 显示Home按钮; "false" - 不显示Home按钮。 默认值为"false"。 Home按钮的颜色为窗口标题文字颜色,按下时颜色自动调整透明度为0.3。 点击Home按钮的逻辑为关闭所有非首页窗口,显示首页窗口。  
                autoBackButton: true,  
                titleText: title, // 标题栏文字,当不设置此属性时,默认加载当前页面的标题,并自动更新页面的标题  
                titleColor: "#FFFFFF", // 字体颜色,颜色值格式为"#RRGGBB",默认值为"#000000"  
                titleSize: "16px", // 字体大小,默认17px  
                backgroundColor: "#FF6D6F", // 控件背景颜色,颜色值格式为"#RRGGBB",默认值为"#F7F7F7"  
                /*progress: { // 标题栏控件的进度条样式  
                    color: "#00FF00", // 进度条颜色,默认值为"#00FF00"    
                    height: "2px" // 进度条高度,默认值为"2px"           
                },*/  
                splitLine: { // 标题栏控件的底部分割线,类似borderBottom  
                    color: "#FF6D6F", // 分割线颜色,默认值为"#CCCCCC"    
                    height: "1px" // 分割线高度,默认值为"2px"  
                },  
                type: 'default',  //可取值: "default" - 默认样式,顶部停靠显示,挤压Webview页面内容显示区域; "transparent" - 透明样式,顶部沉浸式显示覆盖Webview页面内容,标题栏上内容(除按钮外)全部透明,当页面滚动时透明度逐渐变化,直到不透明显示。 默认值为"default"。  
                buttons: [{  
                    text: iconcode, //跳转过去一直显示X,显示不出图标  
                    color: "#ffffff",  
                    fontSize:'24px',  
                    float: 'right',  
                    fontSrc: "themes/fonts/mui.ttf",  
                    onclick: function() {  
                        callFun();  
                    }  
                }]  
            }  
        },  
        show: {  
            event: "loaded"  
        },  
        waiting: {  
            autoShow: false  
        }  
    }, {  

    });  
}

A页面的方法如下
goWinRbtn(id,url,title,function(){
alert('aaaaaaa');
},'\ue466');

在A页面调用goWinRbtn 打开B页面,这个时候B页面右上角有个图标,点击图标,弹出alert aaaaa

现在的问题是,这个图标的事件在A页面,并没有在B页面里面

我的需求是,在B页面,点击这个图标,要做一些操作,比如搜索或者其他操作的

总不能,在A页面,调用B页面的方法来解决吧

有知道的大神,帮忙看下

2018-07-03 10:02 负责人:无 分享
已邀请:
manfwh

manfwh

用自定义事件
A:

goWinRbtn(id,url,title,function(){  

 var b= plus.webview.getWebviewById('b.html');  
 mui.fire(b,'custom');  

},'\ue466');

b:

window.addEventListener('custom',function(event){  
    ...  
})
  • 7***@qq.com (作者)

    好的我试试

    2018-07-03 10:25

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

    感谢感谢,可以可以

    2018-07-03 10:29

7***@qq.com

7***@qq.com (作者)

结贴,解决了,按照1楼的方法,OK的

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