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

QQ登录

只需一步,快速开始

查看: 14858|回复: 12

[处理中3] 如何阻止关闭页面

[复制链接]

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
发表于 2018-9-19 19:26:54 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
搜索了一下论坛,目前没有关闭前事件,那么可不可以重写关闭事件,我想到的是,定义一个全局参数默认是false,每次关闭的时候验证数据,如果需要阻止关闭事件,就把全局变量设置成true,在关闭页面事件中判断下这个参数,判断完成后,在把全局变量参数改成false,这样是否可以,重写关闭事件需要在哪写

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35915
发表于 2018-9-20 09:43:54 | 显示全部楼层
目前model上提供的关闭页面事件中阻止不了页面关闭,可以自己重写关闭页面的按钮事件,自己判断变量的值控制是否执行关闭
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
 楼主| 发表于 2018-9-20 10:13:21 | 显示全部楼层
OK,但是平台的写的关闭事件是在哪定义的,我主要修改哪个就行,修改是用扩展空间的方式吗
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35915
发表于 2018-9-20 10:34:20 | 显示全部楼层
/UI2/portal/pc3/index.js中
  1.         Model.prototype.closeFuncBtnClick = function(event){
  2.                 if(this.current) this.closePage(this.current);
  3.         };
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
 楼主| 发表于 2018-9-20 14:10:32 | 显示全部楼层
本帖最后由 旗开得胜 于 2018-9-20 14:14 编辑

我试试
回复

使用道具 举报

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
 楼主| 发表于 2018-9-20 15:51:22 | 显示全部楼层
我用的是PC2,在以下的方法中也阻止了关闭功能,但是有一个缺陷,例如我打开了项目管理功能与组织管理功能,当我要关闭项目管理功能的时候,我需要阻止它,但是界面会优先切换到组织管理功能界面,然后项目管理功能没有关闭,有办法可以阻止切换页面吗?
this.on('onClosePage', function(event) {
                debugger
                        this.closeTab(event.pageID);
                });
607~2@)BGI$7)(7J4PA[KVG.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35915
发表于 2018-9-20 16:37:09 | 显示全部楼层
下面的代码中判断控制是否执行closePage
pc2.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
 楼主| 发表于 2018-9-20 18:32:43 | 显示全部楼层
我在index.js的define里面定义了一个全局变量closeop,但是在功能页面里面通过window.closeop=true赋值,不起作用
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35915
发表于 2018-9-21 09:41:32 | 显示全部楼层
在model的构造函数中this.closeop这样定义一个实例变量

在功能页中通过this.getParent().closeop赋值看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
 楼主| 发表于 2018-9-21 15:26:55 | 显示全部楼层
这个可以,基本实现,但是又出现一个新的问题,因为PC2打开多个功能时,展现的样式是标签页形式的,那么可能出现多个标签页都处于编辑数据状态,但是我就定义了一个全局变量,也只能控制一个功能,所以能不能在每次打开一个功能的时候就创建一个当前功能的全局变量,然后关闭功能的时候各个功能找自己的全局变量来判断是否关闭
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 02:49 , Processed in 0.116951 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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