TypeError: $(...).диалог-это не ошибка функция
Я прочитал темы по этой теме на SO, но не смог получить необходимый o / p. Они сказали, что эта проблема возникает, потому что некоторые файлы js включаются несколько раз. Но я попытался удалить несколько файлов один за другим, но все равно получил TypeError: $(...).dialog is not a function
ошибка. Где я включаю несколько файлов js? Может кто-нибудь, пожалуйста, укажите на это. Спасибо.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script type="text/javascript" src="{% static "js/bootstrap.js" %}" ></script>
<script type="text/javascript" src="{% static "dashboard/js/jquery-ui-personalized-1.6rc2.min.js" %}" ></script>
<script type="text/javascript" src="{% static "dashboard/js/inettuts.js" %}" ></script>
<script type="text/javascript" src="{% static "dashboard/js/dashboard.js" %}" ></script>
ошибки, которые я получаю :-
Error: Syntax error, unrecognized expression: #intro,
...nction(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"...
jquery.min.js (line 4)
TypeError: t.widget.extend is not a function
..."drag",e,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return thi...
jquery-ui.min.js (line 5)
3 ответов
у вас есть несколько библиотек jQuery, загружаемых на одной странице (разные версии одного и того же), что неправильно, если вам действительно не нужно поддерживать старые плагины, которые зависят от предыдущих версий. В этом конкретном случае вам нужно будет решить конфликты.
Это все, что вам нужно:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script type="text/javascript" src="{% static "js/bootstrap.js" %}" ></script>
<!-- Not so sure what is this, but certainly it's another jQuery UI library being loaded on top of the other one -->
<!-- <script type="text/javascript" src="{% static "dashboard/js/jquery-ui-personalized-1.6rc2.min.js" %}" ></script>-->
<script type="text/javascript" src="{% static "dashboard/js/inettuts.js" %}" ></script>
<script type="text/javascript" src="{% static "dashboard/js/dashboard.js" %}" ></script>
посмотрите здесь для таблицы стилей CSS (играть с темой):http://jqueryui.com/
диалоговое окно пользовательского интерфейса jQuery: http://jqueryui.com/dialog/
обновление
после нашего чата по комментариям я узнал, что вы используете плагин под названием inettuts
который основан на действительно старых версиях библиотек jQuery и jQuery UI (1.2.икс.)
Кроме того, он использует настроенную версию пользовательского интерфейса jQuery, которая не включает dialog
виджет, следовательно, первое сообщение об ошибке.
вы можете попробовать адаптировать плагин для работы с более новыми версиями (следуя комментарии на собственном сайте) или проработать конфликты и использовать две библиотеки на одной странице.
Теперь все зависит от вас.
посмотрите в сгенерированном исходном коде, затем узнайте все ссылки на jquery, затем проверьте, что есть только одна ссылка на jQuery и одна на jQuery UI.
убедитесь, что у вас есть библиотеки js, на которые вы ссылаетесь в jsp/html в соответствующей папке. В основном это будет папка WebContent или путь, указанный в jsp. Для меня это было в папке/resources / scripts. Однажды я добавил туда библиотеки