如何阻止Senna.js调用多个jQuery事件处理程序

时间:2017-02-01 16:36:28

标签: javascript jquery jquery-events senna.js

我使用Senna.js开发了SPA网站,效果很好!但是,我最近注意到它在离开页面时不会删除jQuery事件处理程序。所以当我导航回我已经访问过的页面时,我有各种各样的函数触发两次。

我通过这样做修复了我的大部分个人代码

$("#element").off("event").on("event", etc.)

但是有成千上万行的其他人的代码也在为我的网站提供动力,我担心他们也会开两次。

SO上的任何人都有处理此问题的见解或方法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用Senna的生命周期事件分离事件处理程序。例如:



var app = new senna.App();

app.on('beforeNavigate', function() {
// detach jQuery event handlers
});