我使用Senna.js开发了SPA网站,效果很好!但是,我最近注意到它在离开页面时不会删除jQuery事件处理程序。所以当我导航回我已经访问过的页面时,我有各种各样的函数触发两次。
我通过这样做修复了我的大部分个人代码
$("#element").off("event").on("event", etc.)
但是有成千上万行的其他人的代码也在为我的网站提供动力,我担心他们也会开两次。
SO上的任何人都有处理此问题的见解或方法吗?
答案 0 :(得分:2)
您可以使用Senna的生命周期事件分离事件处理程序。例如:
var app = new senna.App();
app.on('beforeNavigate', function() {
// detach jQuery event handlers
});