關閉easyui Tabs,有意思的JS異步處理

因業務須要,須要將關閉windows窗口內的全部Tabs關閉掉,所以寫了個方法,執行結果把我驚了一下。javascript

        function closeAllTabs() {
            var tabsCount = $("#winTabs").tabs("tabs").length;//得到Tabs個數
            for (var i = 0; i < tabsCount; i++) {//遍歷
                $("#winTabs").tabs("close", i);//0~n所有關閉
            }
        }

 長期寫後端,程序這樣寫確定沒問題,可是發現前端JS執行可不是按照後端的方式來執行的,其運行結果,只能關閉一半的Tabs標籤;前端

通過調試後發現 $("#winTabs").tabs("close", i) 這個i是正常的加下去的,可是Tabs個數是因爲被關閉掉就愈來愈少,所以執行到一半的時候後面的標籤已經不存在了,可是仍是繼續關下去。java

所以糾正代碼,只須要將$("#winTabs").tabs("close", i) 這裏的i更改成0便可,其原理是我永遠只關第一個標籤直接結束,解決問題。windows

1         function closeAllTabs() {
2             var tabsCount = $("#winTabs").tabs("tabs").length;//得到Tabs個數
3             for (var i = 0; i < tabsCount; i++) {//遍歷
4                 $("#winTabs").tabs("close", 0);//注意這裏更改成0了
5             }
6         }
相關文章
相關標籤/搜索