MikeSilence
@MikeSilence
JsNinja

Как заставить ajaxComplite() работать в другой области видимости?

Есть два JS файла. В одно описан сценария с ajax другой описывает проверку и добавление классов к элементам.
Оба скрипта обернуты в
(function($, window, document, undefined){
// сценарий
}(jQuery, window, window.document));


Во втором скрипте я пытаюсь отследить завершение ajax'а методом ajaxComplite(), и сделать addClass() после завершение ajax но он работает если я использую глобальные переменный такие как $('.some_class') а если я использую локальные то не работает. Как можно это исправить/обойти?
  • Вопрос задан
  • 2262 просмотра
Пригласить эксперта
Ответы на вопрос 2
pingo
@pingo
$.ajaxStop глобальная переменная, но придётся проверить данные, перех addClass.. если правильно вопрос понял
Ответ написан
MikeSilence
@MikeSilence Автор вопроса
JsNinja
Ну ajaxComplite() тока же глобальная переменная если верить сайту JQ.
Попытаюсь пояснить.
Есть скрипт А, который после нажатие кнопки выполняет Ajax и подгружает данные.
Другой скрипт В добавляет выполняет функицю которая после каждому 3ему элементу добавляет класс. Моя проблема в том, что полсе того как подгрузились новые данные этот класс не добавляется для новых элементов. Если я просто вешаю на клик по этой же кнопке добавление классов для новых элементов, то ни чего не срабатывает, по этому я решил проверять завершение Ajax. Проверить я могу или через ajaxComplite или через ajaxStop но когда я внутри функций пишу переменные заданые в скрипте В то ни чего не происходит.
Пример:
script a:
var a = $('a');
a.click(fucntion(){
 $.ajax() // что-то подгружает
})

script b
var b = $('a'), z = $('li');
b.click(function(){
$.ajaxStop(function(){
 z.addClass('test') // так НЕ работает
$('li').addClass('test') // так работает
})
})

мне вот нужно что бы работало через z.addClass
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы