jQuery noConflict () проблема - PullRequest
       21

jQuery noConflict () проблема

3 голосов
/ 05 июня 2011

Так что я работаю на платформе, которая внедряет jQuery-1.2.6 каждый раз при загрузке страницы.Я разработал свою страницу для использования jQuery-1.4.2, поэтому, когда моя страница загружается, на моей странице есть 2 экземпляра jQuery.

Чтобы избежать любых конфликтов, я включил в свой файл JS следующую строку, котораяза пределами моей страницы:

var mc$ = jQuery.noConflict();
jQuery(function($)

Кажется, все работает, если я использую mc $ для того места, где изначально использовался $.

Я получаю сообщение об ошибке в Firebug и IE, которое я не вижуНе знаю, как решить.

Внутри файла, который внедряется в платформу при загрузке моей страницы разработчиком:

 $(document).ready(function() {

и ошибка в состояниях Firebug: '$ is not isфункция '.

Эта ошибка начала появляться только после того, как я сделал изменение:

var mc$ = jQuery.noConflict();

Я думаю, что, создав переменную mc $, что-то сломалось с разработчиком$ (документ) ... звонок.Если это так, я не знаю, как решить эту проблему, и если нет, то я надеюсь, что есть решение, которое я смогу внедрить для обеспечения функциональности обратно внедренному файлу разработчика.

Спасибо!

Ответы [ 3 ]

4 голосов
/ 05 июня 2011

Основной причиной является загрузка двух экземпляров jQuery на одну страницу.Судя по всему, исходный экземпляр (1.2.6) jQuery также не связан с глобальной переменной $.

Посмотрев на http://api.jquery.com/jQuery.noConflict/,, вы можете попробовать добавить дополнительный параметрВызов jQuery.noConflict () также для обозначения выгрузки jQuery, так как кажется, что ваш экземпляр 1.4.2 загружается до 1.2.6.другая помощь предложить:)

2 голосов
/ 15 сентября 2011

Порядок вызовов в вашем разделе <head> должен быть следующим:

  1. jQuery library №1;
  2. noConflict для него;
  3. jQuery library №2.

.noConflict() может выглядеть так:

<script type="text/javascript">var mc$ = jQuery.noConflict();</script>

И после использования этот синтаксис в скриптах:

mc$('#container').height();
0 голосов
/ 05 июня 2011

Этот ответ может оказаться полезным: jquery noConflict не работает только в IE8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...