2013年12月16日 星期一

有關ajaxToolkit:TabContainer 實作mouseover chang tab功能問題

網路上關於ajaxToolkit:TabContainer 實作mouseover 切換顯示內容程式碼如下:
function OnMouseover() {
        var tabContainer = $find("<%=TabContainer1.ClientID%>");
        var tabs = tabContainer.get_tabs();
        for (var i = 0; i < tabs.length; i++) {
            var tab = tabs[i];
            $addHandler(
                tab.get_headerTab(),
                'mouseover',
                Function.createDelegate(tab, function () {
                    tabContainer.set_activeTab(this);
                }
                ));
        }
    }
如果將此程式碼置放於asp.net user control時,使用下面的語法是無法正常運作的:
$(document).ready(function () {
        var tabContainer = $find("<%=TabContainer1.ClientID%>");
        var tabs = tabContainer.get_tabs();
        for (var i = 0; i < tabs.length; i++) {
            var tab = tabs[i];
            $addHandler(
                tab.get_headerTab(),
                'mouseover',
                Function.createDelegate(tab, function () {
                    tabContainer.set_activeTab(this);
                }
                ));
        }
    });

如果將程式碼更改如下,可以正常運作:
$(document).ready(function () {
        setTimeout('OnMouseover();', 500);
    });
    function OnMouseover() {
        var tabContainer = $find("<%=TabContainer1.ClientID%>");
        var tabs = tabContainer.get_tabs();
        for (var i = 0; i < tabs.length; i++) {
            var tab = tabs[i];
            $addHandler(
                tab.get_headerTab(),
                'mouseover',
                Function.createDelegate(tab, function () {
                    tabContainer.set_activeTab(this);
                }
                ));
        }
    }
以上說明,分享給有需要的網友。

   

沒有留言: