我尝试获取我的元素,我通过ajax加载回工作但是当我尝试重新初始化它们时,它根本不起作用。
我尝试在我的代码中的不同位置插入$(document).foundation();
,但不是:(
这是一个例子:
$.ajax({
url: 'dashboard/ajax/links/get',
method: 'post',
data: {
_token: $('input[name=_token]').val()
},
success: function(data) {
$('.links-container').html(data);
$(document).foundation();
}
});
有什么想法吗?
更新
另一个例子
// open edit link modal
$('.item-link-edit').on('click',function(e){
e.preventDefault();
// get item id
var id = getItemId(this);
// open modal and load content
$('#edit-link-modal').foundation('reveal','open',{
url: 'dashboard/ajax/links/modals/edit',
data: {
id: id
},
success: function() {
setTimeout(function(){
$(document).foundation();
console.log('reinit');
},1000);
}
});
});
仍然无效:/
答案 0 :(得分:0)
如果向DOM添加新内容,则需要使用重排。
$(document).foundation('reflow');
Reflow将使Foundation检查DOM是否有任何元素,并重新应用任何侦听器。如果您不想重排所有内容,可以指定要重新申请的模块;
$(document).foundation('orbit', 'reflow'); // orbit, for an example
可在此处找到更多文档: http://foundation.zurb.com/docs/javascript.html