Javascript 如何手动禁用被调用的插件?

Javascript 如何手动禁用被调用的插件?,javascript,jquery,Javascript,Jquery,我有一个网站接近完成,现在正在修复一些小错误的情况下。开发页面可以在上找到,我对使用的一些jquery插件有点小问题 该站点的主要部分是持久性的,并使用页面控制器来处理ajax导航和插件实例化。但我发现,在站点上点击几下后,即离开页面返回,当页面函数再次被调用时,它们将中断,所有javascript将停止 我想知道,是否有可能清除当前活动的已定义“活动事件”。在周围有一条鱼之后,我听到了分配一个变量然后给这个变量函数的风声,但没有鱼。举个例子,我如何禁用简化的以下功能: $('#carousel

我有一个网站接近完成,现在正在修复一些小错误的情况下。开发页面可以在上找到,我对使用的一些jquery插件有点小问题

该站点的主要部分是持久性的,并使用页面控制器来处理ajax导航和插件实例化。但我发现,在站点上点击几下后,即离开页面返回,当页面函数再次被调用时,它们将中断,所有javascript将停止

我想知道,是否有可能清除当前活动的已定义“活动事件”。在周围有一条鱼之后,我听到了分配一个变量然后给这个变量函数的风声,但没有鱼。举个例子,我如何禁用简化的以下功能:

$('#carousel-awards').infiniteCarousel();
$('#another-test').timelinr();
1. $('#carousel-awards').unbind('infiniteCarousel');

2: $('#carousel-awards').off('infinitCarousel');

3: $('#carousel-awards').infiniteCarousel = function() { return false; }

4: var test;
   test = $('#carousel-awards').infiniteCarousel();
   test = function(){ return false; }
这两个jquery插件没有内置的“shutdown”方法。本质上,我想要一个垃圾收集器,因为一旦用户离开使用上述两个函数的页面,页面HTML就暂时被屏蔽了

为了清楚起见,我尝试了以下方法:

$('#carousel-awards').infiniteCarousel();
$('#another-test').timelinr();
1. $('#carousel-awards').unbind('infiniteCarousel');

2: $('#carousel-awards').off('infinitCarousel');

3: $('#carousel-awards').infiniteCarousel = function() { return false; }

4: var test;
   test = $('#carousel-awards').infiniteCarousel();
   test = function(){ return false; }

感谢您抽出时间阅读我的问题

这取决于插件。但是,如果它使用jQuery UI小部件系统,您很可能可以使用
.infinitecaruel('destroy')
.timelinr('destroy')
从元素中删除这些小部件。

我不确定这些插件,但通常调用元素也会删除附加的处理程序、数据对象等。;使它们成为可回收的垃圾


通常,插件,特别是那些在别处存储数据或在不同位置创建DOM元素的插件,提供了一个
destroy
选项。如果您没有,a)不需要,或者b)插件编码不好-您可能需要深入研究并修复它,或者使用另一个插件。

向我们展示处理前后导航的代码或者我花了很长时间才回复,但我最近很忙。您的回答让我对jQuery的内部工作原理有了更多的了解。多谢各位