Ошибка «не функция» при обращении к библиотеке jquery в ASP.NET MVC View с расширениями Telerik MVC - PullRequest
0 голосов
/ 02 июня 2011

В приведенном ниже скрипте вызов функции .cluetip () приводит к "$ (". Tip "). Cluetip не является функцией". Я уверен, что на библиотеку правильно ссылаются, потому что я могу перейти по ссылке из источника. Кроме того, функция .click () работает нормально. Что мне не хватает? Большое спасибо!

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.cluetip.js")" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $(".tip").click(function () { alert('hi mom!'); }); // this works
        $(".tip").cluetip(); // results in $(".tip").cluetip is not a function
    });
</script>

1 Ответ

1 голос
/ 02 июня 2011

Был конфликт jQuery. Шаблоны расширений Telerik MVC автоматически добавляют следующую строку в _layout.cshtml:

 @(Html.Telerik().ScriptRegistrar()
        .DefaultGroup(group => group.Combined(true).Compress(true))

На момент написания этой статьи в этом заявлении будет добавлена ​​версия 1.5 jQuery. По умолчанию jQuery также включен в начало файла _layout.cshtml:

<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>

Следовательно, конфликт.

Решение

Я решил это, включив jQuery версии 1.5.1 в раздел <head>:

<script src="@Url.Content("~/Scripts/jquery-1.5.min.js")" type="text/javascript"></script>

А затем подавить вывод jQuery от Telerik:

@(Html.Telerik().ScriptRegistrar()
    .DefaultGroup(group => group.Combined(true).Compress(true))
    .jQuery(false))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...