与Telerik的fullcalendar 2 jquery冲突

时间:2014-06-09 09:44:18

标签: jquery telerik fullcalendar

我正在尝试在项目中使用A Shaw的FullCalendar 2.0.0。该项目还使用Telerik控件。我相信有一个jQuery verion冲突,但我不确定。如果我在页面中不包含任何Telerik控件或引用,则日历显示正常。如果我包含任何Telerik控件/引用,我会收到javascript错误。

这是我添加了FullCalendar2.0.0的标记,它使用了JQuery v 1.11.1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link rel='stylesheet' href='../lib/cupertino/jquery-ui.min.css' />
    <link href='../fullcalendar.css' rel='stylesheet' />
    <link href='../fullcalendar.print.css' rel='stylesheet' media='print' />
    <script src='../lib/moment.min.js'></script>
    <script src='../lib/jquery.min.js'></script>
    <script src='../lib/jquery-ui.custom.min.js'></script>
    <script src='../mmd_fullcalendar200.js'></script>
    <script>

    $(document).ready(function() {
        $('#claimCalendar').fullCalendar({
               //code to initiate fullcalendar
           });

        });

    </script>

这就是Telerik(使用JQuery v1.9.1)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server" />
    <link rel='stylesheet' href='../lib/cupertino/jquery-ui.min.css' />
    <link href='../fullcalendar.css' rel='stylesheet' />
    <link href='../fullcalendar.print.css' rel='stylesheet' media='print' />
    <script src='../lib/moment.min.js'></script>
    <script src='../lib/jquery.min.js'></script>
    <script src='../lib/jquery-ui.custom.min.js'></script>
    <script src='../mmd_fullcalendar200.js'></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('#claimCalendar').fullCalendar({
                //code to initiate fullcalendar
            });
        });
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
            <Scripts>
                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
            </Scripts>
        </telerik:RadScriptManager>

当我尝试浏览使用Telerik的页面时。页面正确显示所有元素,但不呈现FullCalendar。具有FullCalendar ID的div位于标记中。我得到的错误是 Microsoft JScript运行时错误:对象不支持此属性或方法。断点位于$('#claimCalendar')。fullCalendar({

我怎样才能让两人好好玩?

1 个答案:

答案 0 :(得分:0)

我已经能够通过覆盖针对jquery的Telerik脚本引用来修复此问题。

经过一些研究后,我发现了一个将路径参数放到空的js文件中的建议,因为......

<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" Path="path/to/emptyJSfile" />

这不起作用,但我发现另一个建议,该文件不应该为空,但有以下内容......

$telerik.$ = window.$;

这是我认为将telerik jquery调用映射到当前加载的jquery。所以FullCalendar加载jQuery版本1.11.1而telerik使用它。

到目前为止一切似乎都很好。我有FullCalendar加载以及一个额外的链接到qTips2和一堆telerik控件,它们似乎都能正常运行。