我有一个使用jQuery设置的滚动处理函数,因此:
$(window).scroll(windowScrollHandler);
我会定期进行AJAX调用,该调用会引入新的HTML,此后,滚动处理程序功能将不再正常工作。因此,我要做的就是在每次进行AJAX调用后都运行上述代码,现在看来,在早期测试中,一切都可以正常工作。但是,我想知道这是否对内存有影响,例如我要堆叠处理程序之类的东西,以及是否需要先清除现有处理程序(“ off”)。还是这个“滚动”功能只是将现有的处理程序功能替换为一个新的功能?即,只能有一个滚动处理程序功能?
答案 0 :(得分:1)
处理程序应堆叠。在我看来,滚动处理程序将在您的AJAX调用后停止工作,这对我来说很奇怪,因为该处理程序在窗口上,而不是在AJAX调用后将被替换的元素上。无论如何,我认为最佳实践是在添加新的处理程序之前先删除旧的处理程序。