jQuery MiniUI

 找回密码
 立即注册
楼主: wangyanjun001
打印 上一主题 下一主题

关于tab的onactivechanged事件所遇到的问题 [复制链接]

Rank: 1

11#
发表于 2015-11-5 09:48:08 |只看该作者
berlioz 发表于 2015-11-5 09:20
需要切换后执行的都写到onactivechanged里边

我是每次切换都要执行onactive那个方法,那个方法体里面是公共的,好多页面用到,不能提炼的话,太麻烦了。。

Rank: 1

12#
发表于 2015-11-5 09:48:39 |只看该作者
felt 发表于 2015-11-5 09:31
可以延时执行

那我先试试

Rank: 1

13#
发表于 2015-11-5 14:32:20 |只看该作者
felt 发表于 2015-11-5 09:31
可以延时执行

<%@ page language="java" contentType="text/html; charset=UTF-8"

        pageEncoding="UTF-8" session="false" %>

        
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<!--
  - Author(s): Administrator

  - Date: 2015-11-04 16:17:01

  - Description:

-->

<head>

<title>test</title>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

    <script src="../miniui.js" type="text/javascript"></script>

   
</head>

<body>

<a id="savedata"   class="mini-button"  iconCls="icon-save"  plain="true" visible="true">提交</a>

               
<div id="tabs1" class="mini-tabs" style="width:100%;height: 100%" onbeforeactivechanged="onchangeTab">

       <div id="first0" name="first0" title="原始记录旧" style="width:100%;height:100%;"  >

              <div id="firstDiv0" style="overflow:scroll">

                          原始记录旧

              </div>        
       </div>

       <div id="first" name="first" title="原始记录最新" style="width:100%;height:100%;"  >

              <div id="firstDiv" style="overflow:scroll">

                         原始记录最新
              </div>        
       </div>

</div>

        <script type="text/javascript">

            mini.parse();

            var tabs = mini.get("tabs1");
//初始化
function initData()
     {
          var i=0;
  
            if(i==(1-1))
         {
                var lastActiveTab = tabs.getTab("first");
               
                 tabs.activeTab(lastActiveTab);
         }
        
     }   
            //onbeforeactivechanged

            function onchangeTab()

            {

            }

            //onactivechanged

            function openJDFile()
             {

              var nowtab = tabs.getActiveTab();
           alert("come-----"+nowtab.name);
            }

            //激活tab

            function activeJDTab()

            {

                var nowtab = tabs.getActiveTab();

                        if(nowtab.name!="first")

                        {

                            var tab = tabs.getTab("first");

                            onchangeTab();

                            alert(11);

                        tabs.activeTab(tab);

                        alert(22);

                        }

            }

            //提交

            function saveData()

            {

                  activeJDTab();//激活原始记录 tab

                  alert("33");

            }      

               
    </script>

</body>

</html>
搜索

Rank: 1

14#
发表于 2015-11-5 14:35:39 |只看该作者
felt 发表于 2015-11-5 09:31
可以延时执行

进入tab页面,首先初始化,默认选中最新原始记录的tab页,会在onactivechanged事件里面弹出2次 ,这事为什么
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"

  2.         pageEncoding="UTF-8" session="false" %>

  3.         
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

  5. <html>

  6. <!--
  7.   - Author(s): Administrator

  8.   - Date: 2015-11-04 16:17:01

  9.   - Description:

  10. -->

  11. <head>

  12. <title>test</title>

  13.     <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

  14.     <script src="../miniui.js" type="text/javascript"></script>

  15.    
  16. </head>

  17. <body onload="initData()">

  18. <a id="savedata"   class="mini-button" onclick="saveData()"  iconCls="icon-save"  plain="true" visible="true">提交</a>

  19.                
  20. <div id="tabs1" class="mini-tabs" style="width:100%;height: 100%" onbeforeactivechanged="onchangeTab" onactivechanged="openJDFile">


  21.        <div id="first0" name="first0" title="原始记录旧" style="width:100%;height:100%;"  >

  22.               <div id="firstDiv0" style="overflow:scroll">

  23.                           原始记录旧

  24.               </div>        
  25.        </div>

  26.        <div id="first" name="first" title="原始记录最新" style="width:100%;height:100%;"  >

  27.               <div id="firstDiv" style="overflow:scroll">

  28.                          原始记录最新
  29.               </div>        
  30.        </div>


  31. </div>


  32.         <script type="text/javascript">

  33.             mini.parse();

  34.             var tabs = mini.get("tabs1");

  35. //初始化
  36. function initData()
  37.      {
  38.           var i=0;
  39.   
  40.             if(i==(1-1))
  41.          {
  42.                 var lastActiveTab = tabs.getTab("first");
  43.                
  44.                  tabs.activeTab(lastActiveTab);
  45.          }
  46.         
  47.      }   
  48.             //onbeforeactivechanged

  49.             function onchangeTab()

  50.             {

  51.             }

  52.             //onactivechanged

  53.             function openJDFile()
  54.              {

  55.               var nowtab = tabs.getActiveTab();
  56.            alert("come-----"+nowtab.name);
  57.             }

  58.             //激活tab

  59.             function activeJDTab()

  60.             {

  61.                 var nowtab = tabs.getActiveTab();

  62.                         if(nowtab.name!="first")

  63.                         {

  64.                             var tab = tabs.getTab("first");

  65.                             onchangeTab();

  66.                             alert(11);

  67.                         tabs.activeTab(tab);

  68.                         alert(22);

  69.                         }

  70.             }

  71.             //提交

  72.             function saveData()

  73.             {

  74.                   activeJDTab();//激活原始记录 tab

  75.                   alert("33");

  76.             }      

  77.                
  78.     </script>

  79. </body>

  80. </html>
复制代码

Rank: 8Rank: 8

15#
发表于 2015-11-5 15:34:06 |只看该作者
wangyanjun001 发表于 2015-11-5 14:35
进入tab页面,首先初始化,默认选中最新原始记录的tab页,会在onactivechanged事件里面弹出2次 ,这事为 ...

初始化会触发一次
回复高级模式可以上传文件,请不要直接粘贴大量代码

Rank: 1

16#
发表于 2015-11-5 15:37:07 |只看该作者
felt 发表于 2015-11-5 15:34
初始化会触发一次
回复高级模式可以上传文件,请不要直接粘贴大量代码

代码请看14楼。。,如果是初始化会切换,那当我把需要选中的tab页放在第一位,就不会弹出2次了,可是业务要求需要选中的tab页不在第一位,那这种情况,怎么避免弹出两次??

Rank: 1

17#
发表于 2015-11-5 15:39:25 |只看该作者
wangyanjun001 发表于 2015-11-5 15:37
代码请看14楼。。,如果是初始化会切换,那当我把需要选中的tab页放在第一位,就不会弹出2次了,可是业务 ...

参见附件
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

18#
发表于 2015-11-5 15:42:21 |只看该作者
wangyanjun001 发表于 2015-11-5 15:39
参见附件

肯定会触发,用个变量控制吧,第一次进入就阻止掉

Archiver|普加软件

GMT+8, 2024-9-19 09:41 , Processed in 1.064484 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部