创建函数的额外实例

时间:2014-02-08 12:24:23

标签: javascript jquery

我正在使用一个名为jQuery pusher(https://github.com/salvan13/jquery-pusher)的插件在网站的某些部分创建一些ajax导航,但是这个插件只能初始化一次,我需要能够将它应用到新的通过ajax加载的内容。

我的问题:这可以通过命名空间或某种其他方式解决,以创建不会覆盖/干扰彼此的同一函数的多个实例吗?

2 个答案:

答案 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