jQuery MiniUI

 找回密码
 立即注册
查看: 2045|回复: 4
打印 上一主题 下一主题

Tabs切换或者关闭前的事件 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2017-3-10 09:57:12 |只看该作者 |倒序浏览
求教:Tabs关闭前触发 beforecloseclick 能否在这个事件中阻止关闭事件?

需求是  在切换或者关闭tabs时候需要给用户提醒,在用户确认之后才会执行相应操作。



尝试在beforecloseclick中判断用户操作出现两个问题:
  • beforecloseclick函数中return,并不能阻止tabs的关闭;
  • mini.open中的destroy事件像是一个异步事件,在destory事件触发前tabs已经关闭啦;

Rank: 3Rank: 3

沙发
发表于 2017-3-10 11:22:22 |只看该作者
mini.confirm('确认?', '提示', function (action) {
        if(action==='ok'){
            e.cancel = true;
        }
    })
在beforecloseclick 事件中设置 e.cancel=true;页面可以取消关闭,但是上面的过程是异步的,所以并不能在判断之后取消tabs的关闭,求教

Rank: 8Rank: 8

板凳
发表于 2017-3-10 12:21:39 |只看该作者
三点水 发表于 2017-3-10 11:22
mini.confirm('确认?', '提示', function (action) {
        if(action==='ok'){
            e.cancel = ...

js模拟的弹出不能阻塞代码,只能在回调里处理
tabs.on("beforecloseclick", function (e) {
        e.cancel = true;
        mini.confirm("确定关闭吗", "确认?", function (action) {
            if (action == "ok") {
                tabs.removeTab(e.tab);
            }
        })
    })

Rank: 3Rank: 3

地板
发表于 2017-3-10 15:09:18 |只看该作者
felt 发表于 2017-3-10 12:21
js模拟的弹出不能阻塞代码,只能在回调里处理
tabs.on("beforecloseclick", function (e) {
        e.ca ...

完美解决问题,谢啦
还有一个问题请教一下,从某个tab页面切换到tabA的时候 activechanged事件中能否知道是从哪个tab页面切换过来的?

Rank: 8Rank: 8

5#
发表于 2017-3-10 17:22:01 |只看该作者
三点水 发表于 2017-3-10 15:09
完美解决问题,谢啦
还有一个问题请教一下,从某个tab页面切换到tabA的时候 activechanged事件中能否知道 ...

这事件里面只能获取当前切换到的tab
可以用个全局变量数组保存每次打开的tab,倒数第二个就是切换前的tab了

Archiver|普加软件

GMT+8, 2024-5-21 22:59 , Processed in 1.021078 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部