2014-10-18 1 views
0

У меня есть простая вкладка с тремя разными страницами (TAB1, TAB2, TAB3).Конфликт между страницами в JQuery легкие вкладки, пытающиеся решить с помощью jquery noconflict

Tab.php

Tab1 | Таб2 | TAB3

// Tab1 имеет слайдер плагин (с JQuery UI) // Таб2 имеет автозаполнения для выбора списка

Конфликт пришел из потому что две функции хотят использовать переменную jquery.

Две страницы содержит JQuery плагиных, но только с версией JQuery (JQuery-1.11.1.min.js)

Вкладки работает только правильно (элементы показывая, методы JQuery работают правильно), когда только один вкладка включена (просто комментируя ссылку).

Я использую JQuery не conlict, чтобы попытаться решить эту проблему (до этого было конфликта между главной закладкой и invidual страницы):

<script type="text/javascript" src="jquery-1.11.1.min.js"></script>  
<script type="text/javascript"> 
var s = $.noConflict(); 
</script>  

Так на странице юга (Tab1) я использую как:

s(document).ready(function(){.....} 

Я также пытаюсь определить второй ярлык (первый я пытаюсь использовать тот же 'S' там тоже):

<script type="text/javascript" src="jquery-1.11.1.min.js"></script>  
<script type="text/javascript">  
var j = $.noConflict(); 
var s = $.noConflict(); 
    </script> 

, чтобы использовать это на странице Tab2. Это не было решением для меня. Diseable Tab1 и использование «j» также хорошо работает.

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

Я пытаюсь найти решение моей личности, но я couldn't.Please помочь мне

  • Update1:

Как я отметить, прежде чем я сделал много исследований, прежде чем что: Jquery tabs conflicting with revolution slider

Этот вопрос очень похож на мою проблему, но разница у меня больше вкладок, больше конфликтов, поэтому я подумал, что если я использую больше ярлыков, это решит проблему.

  • Update2: Это больше мешая между плагинами, чем конфликт. с использованием

    var s = $ .noConflict (true);

полностью бросить awey всю страницу, даже язычки не хочет работать Первая вкладка.PHP нагрузка, он использует Jquery глобальных переменное, , чем если я нажимаю на Tab1 он также хочет использовать глобальные переменный, После, если я нажимаю на TAB2 также необходимо Jquery переменной Так Буммами мешающего готов

  • Update3: После много исследований я обнаружил, что проблема связана не с noconflict. Страница Tab2 (upload.php) правильно отображается, когда я полностью перезагружаю страницу.

    s(document).ready(function(s) {//without the ready it does not rendered even after F5 
    

    s ("# modell"). Select2(); });

+0

все еще непонятно, почему вы используете 'noConflict'. Вы уверены, что вам нужно его использовать? Если да, то почему? – charlietfl

+0

без него вспомогательные страницы doesent работают (у него есть другие плагины jquery и есть что-то неприятное с главной страницей табуляций и субтитрами). Итак, noconflict я смог заставить его работать на дополнительной странице и главной вкладке – Andrewboy

ответ

0

Я считаю, что вы пытаетесь загрузить jQuery с другим именем переменной. Я хотел бы предложить, что вы используете:

$.noConflict(); 
jQuery(document).ready(function(blah) { 
    //You can now use blah as the jquery method (e.g. blah("#button").click();) 
}); 

Я сделал пример здесь: http://jsfiddle.net/me66st8w/. Об этом вы можете узнать в официальной документации: http://api.jquery.com/jquery.noconflict/.

+0

и как насчет этого: blah (function (blah) {// до этого было // s (document) .ready (function () {$ (функция ($) { jvar ('# закладками контейнер') easytabs ({ одушевленные: ложь, });. – Andrewboy

+0

нет, вы должны использовать метод JQuery, пока вы не определите его внутри ' ready (function (...)) '(где ... новое имя функции jQuery) –

+0

жаль, что это не была моя душа, я много пробовал. Как я написал в update3, страница правильно отображается после refredh (F5) – Andrewboy

Смежные вопросы