向主干视图中的Cordova事件添加监听器,而不是向所有文档添加
add a listener to Cordova events in a Backbone view and not to all document
我想在Backbone
的特定视图中为Cordova
事件添加一个侦听器,因此此时我使用document
:
var View = Utils.View.extend({
initialize: function() {
document.addEventListener( "online", function( ) { // cordova event
alert("connected");
// ....
}, false);
}
});
但是每次我改变视图并返回到这个view
时,都会添加一个新的事件侦听器,因此文档有许多侦听器,但我只需要一个。如何在视图中只添加一次事件侦听器,避免每次都创建新的事件侦听器?
谢谢
我在过去通过以下方法解决了一个类似的问题:
-
在应用程序加载时添加监听器,而不是在视图加载时添加
-
让监听器调用一个函数来检查设置为true或false的特定变量
-
初始化特定视图时,将变量设为true
-
当特定视图被替换或初始化任何其他视图时,将该变量设置为false
监听器调用的函数看起来像这样:
function onlineEventCallback () {
if(app.checkOnline) {
alert('connected');
}
}
这将允许侦听器只设置一次,并确保它只在特定视图当前初始化时返回任何内容。
相关文章:
- 如何判断何时将dom节点添加到文档中
- 如何从 URL 数组向文档添加图像列表
- 将事件侦听器添加到文档,而不是签入元素存在,然后添加事件侦听器
- PouchDB,如何在已经有附件的文档中添加新附件
- JS触发器值检查在文档加载后添加到页面的元素在加载时更改AND
- 如何以编程方式将内容脚本添加到 iframe 文档
- 是否有 jQuery 事件用于何时将元素添加到文档中
- 如何在猫鼬中更新文档后添加一些操作
- 使用单个HTML文档添加多个页面
- MongoDB:如何将这个散列添加到集合中的每个文档中
- 我该如何在旅途中添加一些段落,并将结果显示在带有段落标记的文档中
- 当我尝试添加文本效果时,有东西阻止了JavaScript的运行'手风琴'在html文档中
- 按标记名称将事件侦听器添加到所有文档子项
- 如何在HTML5文档中添加xml
- 使用JavaScript将自定义对象添加到文档中
- ABCPdf添加文档javascript
- 添加文档时,PouchDB 409冲突
- 在循环中向worklight jsonstore添加文档
- 通过javascript循环添加文档到ElasticSearch索引不工作
- 添加文档加载时无法检测复选框更改