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

问题描述 投票:1回答:1

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

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

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

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

SO上的任何人是否有任何洞察或方法来处理这个问题?

javascript jquery jquery-events senna.js
1个回答
2
投票

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

var app = new senna.App();

app.on('beforeNavigate', function() {
// detach jQuery event handlers
});
© www.soinside.com 2019 - 2024. All rights reserved.