我正在尝试向通过AJAX插入的DOM对象添加行为。Ajax成功后的jQuery rebind监听器
从我读到的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);
通过萤火虫,我可以验证Ajax调用succesfull,内容被根据需要更换。 onInit
在document.ready事件和ajax.sucess事件之后被调用。在萤幕控制台中没有显示错误。 然而,第二个onInit($ scope)调用没有任何反应。
我在这里做错了什么?
使用的jquery版本是1.9.1。
什么是$新确切?你期望新的$是什么? –