我有一个带有多个标签内容的kendo标签,每个标签内容都包含Javascript函数$(document).ready()...
但是,它仅在选择选项卡时首次执行(加载内容),当我选择另一个选项卡并返回此选项卡时,由于内容已加载,$(document).ready()
未被调用
每次选择标签时,是否有任何可能的方法使$(document).ready()
执行? (由于性能考虑,每次都不能重新标记选项卡内容...)
感谢任何建议!
答案 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 documentation和ASP.NET MVC API documentation,可能有助于提供一些更好的方法来解决这个问题。