Я пытаюсь добавить поведение к объектам DOM, вставленным через AJAX.jQuery повторные прослушиватели после успеха ajax
Из того, что я читал в jQuery Api Docs, я думаю, что было бы лучше иметь обработчик onInit(scope)
для выполнения привязки событий к новому контенту.
До сих пор я получил это:
function onInit(scope) {
console.log('init', scope);
$('.sometestclass', scope).css({'color':'red'});
}
(function($) {
$(document).ready(function(){
$(document).on('click', '.ajax-button', function(event){
event.preventDefault();
$target = $(this);
$.ajax({
url: 'validUrl',
...
success: function(data) {
var $new = $target.replaceWith(data);
onInit($new);
},
});
});
onInit(this);
});
})(jQuery);
Via поджигатель Я может проверить Ajax вызов успешным, содержимое заменяется по желанию. onInit
вызывается в событии document.ready и после события ajax.sucess. В консоли firebug нет ошибок. Тем не менее, нет реакции на второй вызов onInit ($ scope).
Что я здесь делаю неправильно?
Используемая версия jquery - 1.9.1.
Что такое $ new точно? И что вы ожидаете от $ new? –