Проблемы с jQuery после 3.4 Обновление
У меня возникли проблемы с jQuery после обновления 3.4.5 от 3.2.2.
$
не определен.
Я сделал некоторые проблемы с съемкой и нашел это: https://stackoverflow.com/questions/17687619 /есть-есть-а-полосная-запирающий-JQuery-noconflict режим в-WordPress
, но если я запустил:
$ = jQuery.noConflict(true);
, то новая проблема заключается в том, что jQuery
не определен.
Это не проблема на моем сайте 3.2.2, где определены как $, так и jQuery.
Я пробовал такие вещи, как установка jQuery = $ после инструкции noConflict и клонирование jQuery в $, но ни один из них не работал.
Я запускаю jQuery 1.8.3 вместо jQuery, входящего в состав Joomla. Я также удостоверился, что mootools не был включен.
Есть ли способ заставить $ и jQuery работать одновременно?
1 ответ
Во-первых, нет причин, по которым вы должны использовать jQuery 1.8.3, поскольку это старая и неподдерживаемая версия. Пожалуйста, придерживайтесь того, что предоставляет Joomla (1.11.3).
Шаблон и ВСЕ расширения, которые вы используете, должны выполнять следующие операции импорта jQuery:
JHtml::_('jquery.framework');
Это гарантирует, что он будет импортироваться только один раз, когда компилируется head
. Это означает, что режим NoConflict включен, поэтому ниже
jQuery.noConflict();
Все шаблоны /расширения должны всегда писать свой собственный JS-скрипт так:
jQuery(document).ready(function(){
var element = jQuery('#element');
});
или
jQuery(document).ready(function($){
var element = $('#element');
});
Во втором примере вы можете увидеть, что я прошел $
через псевдоним jQuery
Таким образом, ваш разработчик шаблонов или расширений не выполнил этот процесс, поэтому вы можете найти виновника и исправить его или установить jQuery Easy .
Надеюсь, что это поможет