从ajaxComplete()回调导致多个负载的jQuery加载()
问题描述:
我一直在盯着这个一段时间,我完全难住。你需要为此设置firebug,看看AJAX请求。他们似乎下一个和以往的每次点击后要乘,直到它的速度太慢,完全加载:从ajaxComplete()回调导致多个负载的jQuery加载()
http://www.ftsdev.com/freegreen/virtual-tour-prototype/virtual-tour.html
所有的JavaScript源出于此是:
/freegreen/virtual-tour-prototype/js/virtual-tour.js
功能看:
launchVirtualTour()
$('#vt-next').one('click',function()
$('#vt-prev').one('click',function()
当调用ajaxComplete()时,我检查加载到回调函数以外的数组的文件。这使我可以确定它是否是系列中的第一个或最后一个元素,以便我可以相应地隐藏上一个或下一个按钮。我有一个恐惧,问题在80-82行,我在存储在indexInArray中的inArray()值添加1。
我已经四处搜索,但找不到任何类似的情况,任何帮助,非常感谢。
谢谢!
答
我简单地试了一下页面。从代码的快速浏览和我的直觉反应看来,您似乎并未解除先前绑定的点击事件的绑定。据我可以告诉这是流向你的错误:
- 用户点击,弹出一个幻灯片
- 您绑定一个/上点击事件
- 用户点击周围,使用下一个/上按钮
- 用户点击了当前幻灯片
- 用户点击进入另一个幻灯片
- 您绑定一个/上点击事件
- 用户点击周围,使用NEX t/prev按钮,导致内容被调用两次
当用户单击第一个幻灯片放映时,您需要解除绑定点击事件。或者不要在步骤6中绑定。
非常感谢Sam,我会在明天早上尝试基于上述第一件事进行调试,并让您知道它是如何发生的。 – 2009-09-14 03:31:01
哈,我刚刚开了一枪,它工作。我将事件移动到ajaxComplete之外,并将它们作为实时事件,以便它们能够附加到加载了AJAX的内容的内容,并且工作正常。 非常感谢这个Sam,我从来没有想过我可以很快解决这个问题! – 2009-09-14 03:35:40
很高兴听到凯文。 :-)其余的祝你好运! – 2009-09-14 03:40:12