我正在使用一个名为jQuery pusher(https://github.com/salvan13/jquery-pusher)的插件在网站的某些部分创建一些ajax导航,但是这个插件只能初始化一次,我需要能够将它应用到新的通过ajax加载的内容。
我的问题:这可以通过命名空间或某种其他方式解决,以创建不会覆盖/干扰彼此的同一函数的多个实例吗?
答案 0 :(得分:1)
你的实际问题的措辞是什么意思并不是很清楚,我认为这是你混淆的根源。
插件初始化不能“延迟”,就像jQuery延迟处理程序一样,jQuery将处理程序应用于顶级元素并从那里过滤事件。插件需要直接在元素上初始化:
$('#someElement').pusher();
或匹配元素组:
$('.someElements').pusher();
因此,对于稍后添加到DOM的元素,例如通过AJAX,您需要在添加它们之后显式初始化它们:
$('#someContainingElement').load('ajaxcontent.html' function () {
$('#someContainingElement .someElements').pusher();
});
答案 1 :(得分:1)
原来这个特定的插件这是解决方案:https://github.com/salvan13/jquery-pusher/issues/3