起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1909|回复: 3

[结贴] 安卓不同页面实体返回键监听并绑定不同页面

[复制链接]

15

主题

49

帖子

206

积分

中级会员

Rank: 3Rank: 3

积分
206
QQ
发表于 2018-9-18 20:26:50 | 显示全部楼层 |阅读模式
本帖最后由 sxen 于 2018-9-19 03:37 编辑

需要实现就是访问子页面,不同的子页面返回到不同的父页面上去。现在的是返回一次打开页面。
比如:依次访问:首页>分类>我的>订单>分类>商品>我的。
返回键是:我的>商品>分类>订单>我的>分类>首页  
想实现的是:我的>首页
document.addEventListener("deviceready", function() {
var listener = function(){
     document.removeEventListener('backbutton', listener, false);
        justep.Shell.showPage(require.toUrl("$UI/shop/main.w"));
    };
    document.addEventListener('backbutton', listener, false);
}, false);
用 alert 提示是已卸载并注册新事件
加了  justep.Shell.showPage(require.toUrl("$UI/shop/main.w")); 不知道怎么回事,又失效了。


6

主题

77

帖子

178

积分

初级会员

Rank: 2

积分
178
QQ
发表于 2018-9-19 14:57:30 | 显示全部楼层
用这个justep.Shell.showMainPage()试一试
回复 支持 反对

使用道具 举报

15

主题

49

帖子

206

积分

中级会员

Rank: 3Rank: 3

积分
206
QQ
 楼主| 发表于 2018-9-19 17:34:17 | 显示全部楼层
xuErnest 发表于 2018-9-19 14:57
用这个justep.Shell.showMainPage()试一试

有点没说清楚,其实我是想实现,比如订单页回退是到会员中心。商品页回退到商品列表。不是上一次打开的页面也是特定一个页面。事件有点重复注册,正找方法卸载掉事件,每次都重新注册事件。
回复 支持 反对

使用道具 举报

15

主题

49

帖子

206

积分

中级会员

Rank: 3Rank: 3

积分
206
QQ
 楼主| 发表于 2018-9-20 15:00:32 | 显示全部楼层
本帖最后由 sxen 于 2018-9-20 15:18 编辑

应该算是折腾人了,项目开始时,没考虑周全。造成现在改整体框架是不行的了。也对JQ的不熟悉。
事件重复注册,却卸载不掉。只能改变下,只注册一次,并做好标识识别,用全局变量来做标识。每个页面一个特定的标识。
分享代码如下:(暂时没发现问题)index里加入
document.addEventListener("deviceready", function() {
                        var listener = function(){
                                if(urltype === "main"){
                                        alert('main');
                                }else if(urltype === "deal"){
                                        alert('deal');
                                }else if(urltype === "deallog"){
                                        alert('deallog');//可以改成自己想要的执行代码,比如:justep.Shell.showPage(require.toUrl("$UI/shop/deal/log.w"));
                                }else{
                                        alert(urltype);
                                }
                        };
                        document.addEventListener('backbutton', listener, true);

                }, false);

也不做卸载了。
然后每个页面里的onActive  onLoad的事件都加上变量: urltype = "main"    不同页面标识不同。与注册监听事件要一致;

暂时没监控到问题。跳转正常。也没出现重复累加事件。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 13:17 , Processed in 0.102773 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表