2012-05-04 5 views
1

Я использую jQuery UI. Я загружаю некоторый контент в диалоговом окне над AJAX. После вставки содержимого с сервера мне необходимо внести изменения в документ. Я использую функцию .live() по моей ссылке; Я думал, что это позволит мне использовать Js после загрузки содержимого поверх ajax, но это похоже на то, что только что загруженный контент не является частью документа. Любая помощь очень ценится.Запуск javascript после загрузки ajax

+0

Пожалуйста, покажите свой код/​​AJAX вызова. Вероятно, вы можете добавить функцию обратного вызова. – Smamatti

ответ

1

Вы добавляете привязки (жизни) в функцию успеха вызова ajax?

Если это так, я была такая же проблема, я попытаюсь объяснить, что я понял:

$.post('callURL', function(data){ 

    // Let's say data returned from server is an ID of a div I have to hide 
    // by clicking on some_link 

    $('#some_link').live('click',function(){ 

     $('#'+data).hide(); 

    }); 

}); 

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

Чтобы сделать его работу я сделал глобальной переменной «ID», который я поставил в функции успеха, а затем вызывается в «живой» функции снова, как это:

var ID;  

$.post('callURL', function(data){ 

    // Let's say data returned from server is an ID of a div I have to hide 
    // by clicking on some_link 

    ID = data 

    $('#some_link').live('click',function(){ 

     $('#'+ID).hide(); 

    }); 

}); 
Смежные вопросы