У меня возникли проблемы с подходом Parched ajaxComplete, когда он последовательно и в целом предоставлял ему правильную цель для применения поведения (например, AFAICT xhr.responseText
не является частью документа, поэтому его нельзя связатьto), поэтому я предложил этот альтернативный подход, который может быть полезен.
Во всех моих вызовах ajax я использую событие complete: для запуска известного события в месте назначения нового html.Например, контейнер для Facebox или пункт назначения pjax.
// in my facebox ajax setup
$.ajax({
...,
complete: function() {
$('#facebox').trigger('end.facebox');
}
}
Затем я реагирую на это событие отдельно.
$('*').live('end.facebox', function(e) {
if (e.target == this) {
apply_behavior(this); // in the style of Parched Squid's myInitialize
}
});
Я бы хотел услышать предложения / улучшения, но это кажется достаточно общимдля согласованного размещения нескольких подходов / типов событий ajax и пунктов назначения.