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