Jquery冲突时使用telerik扩展和kendo ui并排

时间:2012-09-13 08:36:05

标签: jquery asp.net-mvc telerik kendo-ui

我正在开发一个MVC 3.0剃须刀应用程序。在我的项目中,我们使用的是jQuery Version 1.7.1。对于telerik扩展,我们使用的是jquery ver 1.6.4。我们还在项目的某些部分使用了Kendo UI网格,这需要jQuery版本1.7.1。我们按照以下顺序将脚本放在布局页面中。

 <script src="@Url.Content("~/Scripts/jquery-1.7.1.js")" type="text/javascript"></script>
 <script src="@Url.Content("~/Scripts/kendo.all.min.js")" type="text/javascript"></script>
 <script src="@Url.Content("~/Scripts/kendo.aspnetmvc.min.js")" type="text/javascript"></script>
   @(Html.Telerik().ScriptRegistrar().jQuery(false)
    .DefaultGroup(
        grp =>
        {
            grp.Add("jquery-1.6.4.js");
            grp.Add("jquery-ui-1.8.17.custom.js");
            grp.Add("telerik.common.min.js");
            grp.Add("telerik.upload.min.js");
            grp.Add("telerik.window.min.js");
            grp.Add("telerik.draganddrop.min.js");
            grp.Add("telerik.grid.min.js");
            grp.Add("telerik.grid.editing.min.js");
            grp.Add("telerik.grid.filtering.min.js");
            grp.Add("telerik.grid.reordering.min.js");
            grp.Add("telerik.grid.resizing.min.js");

            grp.Add("telerik.datetimepicker.min.js");

            grp.Add("telerik.treeview.min.js");

        }))

在这种情况下,所有telerik扩展控制和相关的客户端事件(例如:telerik面板栏的OnSelect事件)都可以工作,但是kendo ui网格控件不会加载数据。但是如果我们在Html.Telerik()。ScriptRegistrar()中评论jQuery版本1.6.4,那么kendo ui将加载数据但是telerik extention客户端事件将不起作用。请提供解决方案。

1 个答案:

答案 0 :(得分:0)

首先 - 您不能在同一页面上使用多个jQuery并期望小部件工作。每次加载jQuery时,数据和事件都会从内存中清除,这意味着已注册的小部件将不再可用。

我建议你将MVC扩展(经典版)更新到最新版本,我可以在它使用jQuery 1.7.1的演示站点中看到。此外,当前版本的KendoUI框架是版本1.7.1,它仍然不是1.8 +。