jQuery MiniUI

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

tabload事件无法触发 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2021-8-2 10:36:08 |只看该作者 |倒序浏览
我想请问下,tab里面的tabload事件,怎么样才能触发呢?
页面上写的固定的tab页加载完没有触发

reloadTabs()也没有触发。
很奇怪的是我在官网上的例子中reloadTabs(tabs.getActiveTabs())是可以触发的,
但是在本地就是无论如何也触发不了,
有什么可能的原因吗?还是触发的方式不对呢?
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2021-8-2 10:51:05 |只看该作者
url加载的tab页才触发,你这里并没有url

你可以加在我们这个示例上测试http://www.miniui.com/demo/#src=tabs/load.html

Rank: 1

板凳
发表于 2021-8-2 11:23:55 |只看该作者
felt 发表于 2021-8-2 10:51
url加载的tab页才触发,你这里并没有url

你可以加在我们这个示例上测试http://www.miniui.com/demo/#src=t ...

那么如果,每个tab页下面不是一个单独的页面,tab里面的内容就写在当前页面上,没有单独的url,此时想触发tabload事件该怎么办呢?

Rank: 8Rank: 8

地板
发表于 2021-8-2 11:25:17 |只看该作者
王美琪 发表于 2021-8-2 11:23
那么如果,每个tab页下面不是一个单独的页面,tab里面的内容就写在当前页面上,没有单独的url,此时想触 ...

那就没有这tabload事件,load就是页面加载。
你现在要处理什么?

Rank: 1

5#
发表于 2021-8-2 11:28:33 |只看该作者
王美琪 发表于 2021-8-2 11:23
那么如果,每个tab页下面不是一个单独的页面,tab里面的内容就写在当前页面上,没有单独的url,此时想触 ...

实际上我想解决的问题是,我给tab绑定了activechanged事件,事件处理函数里边调用了获取title的方法。
但是,当我setTabs()的时候,会自动触发valuechanged事件,事件处理函数想取title的时候发现tab还没加载完成,取title就会出错。
所以我想到这样一个办法,在activechanged里面绑定tabload事件,等tab加载完成再去取title。但是遇到了新的问题,没办法触发tabload事件了。

Rank: 8Rank: 8

6#
发表于 2021-8-2 12:03:48 |只看该作者
本帖最后由 felt 于 2021-8-2 12:05 编辑
王美琪 发表于 2021-8-2 11:28
实际上我想解决的问题是,我给tab绑定了activechanged事件,事件处理函数里边调用了获取title的方法。
但 ...

activechanged里面加个容错处理啊,比如 如果有title,才进行下去,没title就不处理

Rank: 1

7#
发表于 2021-8-2 12:38:40 |只看该作者
王美琪 发表于 2021-8-2 11:28
实际上我想解决的问题是,我给tab绑定了activechanged事件,事件处理函数里边调用了获取title的方法。
但 ...

那我有什么思路解决valuechanged事件取值和setTabs()冲突的问题吗?有办法能控制它的先后顺序么?

Rank: 8Rank: 8

8#
发表于 2021-8-2 13:05:35 |只看该作者
本帖最后由 felt 于 2021-8-2 13:23 编辑
王美琪 发表于 2021-8-2 12:38
那我有什么思路解决valuechanged事件取值和setTabs()冲突的问题吗?有办法能控制它的先后顺序么? ...

什么valuechanged事件做个简单的例子上传上来,我看看

Rank: 1

9#
发表于 2021-8-2 14:02:45 |只看该作者
felt 发表于 2021-8-2 13:05
什么valuechanged事件做个简单的例子上传上来,我看看
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>demo</title>
  6. </head>
  7. <script src="jslib/jquery/jquery-1.8.3-min.js"></script>
  8. <script  src="jslib/miniui/boot.js"></script>
  9. <body>
  10.     <div id="mytabs" class="mini-tabs">
  11.         <div title="wa"></div>
  12.         <div title="ng"></div>
  13.     </div>
  14.     <div id="btn" class="mini-button">重新产生tab</div>
  15. </body>
  16. <script>
  17.     mini.parse();

  18.     var $tabs = mini.get("mytabs");
  19.     var $btn = mini.get("btn");

  20.     $tabs.on('activechanged',function () {
  21.         //点击按钮后此处会报错
  22.         console.info("当前title"+$tabs.getActiveTab().title);
  23.     });
  24.     $btn.on('click',conTab);

  25.     function conTab(){
  26.         var titles = [];
  27.         for (var i = 0; i < 5; i++) {
  28.             titles.push({"title":"tab"+i});
  29.         }
  30.         $tabs.setTabs(titles);
  31.     }
  32. </script>
  33. </html>
复制代码

Rank: 8Rank: 8

10#
发表于 2021-8-2 14:12:23 |只看该作者
王美琪 发表于 2021-8-2 14:02
  1. $tabs.on('activechanged', function () {
  2.         //点击按钮后此处会报错
  3.         var activeTab = $tabs.getActiveTab();
  4.         if (activeTab) {
  5.             console.info("当前title" + $tabs.getActiveTab().title);
  6.         }
  7.     });
复制代码
加个容错就好了

Archiver|普加软件

GMT+8, 2024-11-26 12:23 , Processed in 1.043326 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部