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

QQ登录

只需一步,快速开始

查看: 8155|回复: 18

[结贴] 监听backbutton事件问题

[复制链接]

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
发表于 2020-1-3 15:30:02 | 显示全部楼层 |阅读模式
我在modelLoad事件中注册了这个事件,调用的另一个方法
document.addEventListener("backbutton",function(){
   me.editClick();
  });
editClick方法中有一个打印console.log("返回事件;"+this._orderId);
我有一个modelParamsReceive方法去接受上一个页面传递过来的this._orderId,去更新本页面的this._orderId。
我在页面上加了一个按钮,触发editClick方法,打印的是最新传递进来的orderId,但是如果我点击返回键去打印就会显示更新前的orderId值,而不是本次进入页面传递进来的值。
我该怎么解决这个问题?

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2020-1-3 15:34:40 | 显示全部楼层
backbutton事件调用其它方法时,调用的this._orderId是当前页面第一次触发时获取的值,不会随着其它操作而改变
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2020-1-3 16:35:07 | 显示全部楼层
我在modelUnLoad取消绑定也不行,不管第几次进去触发返回按键,调用的时候this._orderId都是记录的第一次的值
Model.prototype.modelUnLoad = function(event){
        var me = this;
        document.removeEventListener("backbutton",function(){
                me.editClick();
        },false);
};
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2020-1-6 14:16:27 | 显示全部楼层
直接写console.log("返回事件;"+this._orderId);
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2020-1-6 14:35:30 | 显示全部楼层
jishuang 发表于 2020-1-6 14:16
直接写console.log("返回事件;"+this._orderId);

Model.prototype.listener = function(event){
console.log("进入监听:"+this._orderId);
var me = this;
document.addEventListener("backbutton",function(){
me.editClick();
},false);
};
Model.prototype.editClick = function(event){
console.log("返回事件;"+this._orderId);
};
listener方法是每次进入页面都触发的
两个方法的console不一样
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2020-1-6 15:05:16 | 显示全部楼层
直接在backbutton中输出
console.log("返回事件;"+this._orderId);
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2020-1-6 15:11:54 | 显示全部楼层
jishuang 发表于 2020-1-6 15:05
直接在backbutton中输出
console.log("返回事件;"+this._orderId);

那里边也是监听的旧的数据,所以我才在里边调用的别的方法,this._orderId是paramReceive事件接收的,你们可以场景重现一下  确实有这个问题
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2020-1-6 16:46:36 | 显示全部楼层
具体的需求要做什么?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

338

帖子

879

积分

高级会员

Rank: 4

积分
879
QQ
 楼主| 发表于 2020-1-6 16:54:34 | 显示全部楼层
jishuang 发表于 2020-1-6 16:46
具体的需求要做什么?

我想在手机上点击物理返回键的时候走我的后台方法,但是每次传进来的orderId不同,需要跟随变化
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2020-1-6 17:48:12 | 显示全部楼层
js文件中完整的代码发一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-30 16:15 , Processed in 1.910535 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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