gpt4 book ai didi

javascript - 在 Backbone View 中添加 Cordova 事件监听器,而不是所有文档

转载 作者:行者123 更新时间:2023-11-28 19:45:19 26 4
gpt4 key购买 nike

我想在 Backbone 的特定 View 中为 Cordova 事件添加一个监听器,因此此刻我使用 document< 执行此操作:

var View = Utils.View.extend({

initialize: function() {
document.addEventListener( "online", function( ) { // cordova event
alert("connected");
// ....
}, false);
}

});

但每次我更改 View 并返回到此 View 时,都会附加一个新的事件监听器,因此文档有许多监听器,但我只需要一个。那么,如何向该 View 添加一次事件监听器,并避免每次访问该 View 时都创建新的事件监听器?

谢谢

最佳答案

我过去通过执行以下操作解决了类似的问题:

  • 在应用程序加载时添加监听器,而不是在 View 加载时添加监听器

  • 让监听器调用一个函数来检查特定变量设置为 true 或 false

  • 初始化特定 View 时,将变量设置为true

  • 当特定 View 被替换时,或者当任何其他 View 被初始化时,将该变量设置为 false

监听器调用的函数将如下所示:

function onlineEventCallback () {
if(app.checkOnline) {
alert('connected');
}
}

这将允许监听器仅设置一次,并确保它仅在特定 View 当前已初始化时返回任何内容。

关于javascript - 在 Backbone View 中添加 Cordova 事件监听器,而不是所有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24371337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com