Kendo Tabstrip:只要选择了标签,就可以调用标签内容的javascript功能

时间:2016-04-07 02:28:17

标签: c# asp.net-mvc-4 kendo-asp.net-mvc

我有一个带有多个标签内容的kendo标签,每个标签内容都包含Javascript函数$(document).ready()...

但是,它仅在选择选项卡时首次执行(加载内容),当我选择另一个选项卡并返回此选项卡时,由于内容已加载,$(document).ready()未被调用

每次选择标签时,是否有任何可能的方法使$(document).ready()执行? (由于性能考虑,每次都不能重新标记选项卡内容...)

感谢任何建议!

1 个答案:

答案 0 :(得分:1)

您可以为每个单独的标签定义一个功能,并连接一个客户端事件,以便在使用some of the available events更改TabStrip选项时选择:

@Html.Kendo().TabStrip()
            .Name("YourTabStrip")
            .Events(events => events.Select("tabChanged"))

<script>
    function tabChanged(e){
        // Get your selected tab using (e.item);
        var index = $("#YourTabStrip").data("kendoTabStrip").select().index();

        // Based on the tab, trigger a function
        switch(index){
            default:
            case 0:
                LoadContentA();
            case 1:
                LoadContentB();
        }
    }
</script>

您可以在单个标签中重构每个$(document).ready()次调用,只需调用switch语句中指定的其中一个函数:

<script>
    $(document).ready(function(){
        LoadContentA();
    });

    function LoadContentA(){
        // Do work here
    }
</script>

我确信如果您仔细阅读available Javascript API documentationASP.NET MVC API documentation,可能有助于提供一些更好的方法来解决这个问题。