backbone的一个视图被初始化多次后,发现一个按钮事件的单击函数,被调用多次。
A视图初始化后,再初始化B视图,两个视图为同一个ID注册单击事件后,A视图和B视图里的
单击事件都会调用。
为了删除前一个视图注册的事件,使用jquery的unbind,使用jquery从dom里删除对应ID的dom元素,结果,再添加相同的ID,事件依然有效,两个视图的单击函数还在执行。
查看backbone的文档,视图在初始化时,使用jquery的On函数注册了事件,jquery
的on函数使用jquery内部的事件代理机制,将事件注册在jquery内部,而不是绑定在html的dom对象上,要移除事件,必须要使用与on函数注册事件时完全一致的选择符。通过backbone注册事件时,我们不知道具体的选择符是什么,所以也无法通过jquery去删除注册到jquery里的事件。
要终止事件,只能通过view.remove方法,移除view对象时,删除在jquery里注册的事件,或调用view的停止事件监听方法。
如果一个视图是在闭包里完成的,如
这样的话,丢失了view的引用,这个事件就无法删除,在运行期间会一直有效。
A视图初始化后,再初始化B视图,两个视图为同一个ID注册单击事件后,A视图和B视图里的
单击事件都会调用。
为了删除前一个视图注册的事件,使用jquery的unbind,使用jquery从dom里删除对应ID的dom元素,结果,再添加相同的ID,事件依然有效,两个视图的单击函数还在执行。
查看backbone的文档,视图在初始化时,使用jquery的On函数注册了事件,jquery
的on函数使用jquery内部的事件代理机制,将事件注册在jquery内部,而不是绑定在html的dom对象上,要移除事件,必须要使用与on函数注册事件时完全一致的选择符。通过backbone注册事件时,我们不知道具体的选择符是什么,所以也无法通过jquery去删除注册到jquery里的事件。
要终止事件,只能通过view.remove方法,移除view对象时,删除在jquery里注册的事件,或调用view的停止事件监听方法。
如果一个视图是在闭包里完成的,如
(function(){ var View = Backbone.View.extend({ 'click #id':'btnClk' }); var v = new View(); v.render(); })()
这样的话,丢失了view的引用,这个事件就无法删除,在运行期间会一直有效。
发表评论
-
解决eclipse在修改js卡顿现象
2018-02-09 15:49 1280新版eclipse编辑含有javascript内容的jsp时, ... -
chosen 数据的动态更新
2016-09-08 15:28 1709chosen是个不错的复合下拉组件,缺点是文档较少 源码在gi ... -
优秀的弹层组件
2016-04-20 18:19 633http://layer.layui.com/ -
googleapis.com域名访问慢的解决办法
2016-04-13 12:09 8881、安装火狐 2、安装插件ReplaceGoogleCDN -
国内常用前端公共库CDN服务
2015-11-15 14:00 909BAIDU http://cdn.code.baidu.co ... -
jquery validate 1.14
2015-10-12 20:14 765<!DOCTYPE html PUB ... -
jquery 事件处理handler函数的参数
2015-02-08 23:22 2543jquery 事件处理handler函 ... -
jquery tr rowindex
2014-11-30 13:42 858var tr = $(this).parents('tr' ... -
jqgrid please select row warning
2014-11-23 19:42 1681引入ui.jqgrid.css即可解决 -
改变多个jquery.ready的默认顺序
2014-11-23 15:37 1255$(document).ready 这个函数的解释: 引用 D ... -
javascript 错误的继承方式
2014-11-02 23:02 691var parent = {t:1,m:2,} pare ... -
JS图片格式验证
2014-07-03 16:48 865function pic(file){ var r ... -
更改underscorejs默认的匹配符
2014-06-14 11:51 805/** 修改underscore.js默认的< ... -
uglifyjs批量压缩js
2014-06-13 16:34 2389jquery官方使用uglifyjs进行压缩的,压缩比较高 ... -
html5 canvas作的手写板【兼容手机】
2014-05-21 15:56 5232<!DOCTYPE html> <ht ... -
backbone.js model和view视图的单元测试
2014-05-20 17:32 1313backbone的模块化开发,需要引入测试流程保证代码的质量, ... -
由正则表达式html或xml标签配对说起【括号编组和正负向预查】
2014-05-15 14:17 2434经常会查找xml或HTM ... -
netbeans和karma进行单元测试二【jasmine入门】
2014-05-20 15:43 1634karma配好之后,默认使用的是jasmine作为测试框架: ... -
javascript的代理和切面
2014-05-15 13:39 709Java里有面向切面的实现方式,可以监控包、对象、函数 ... -
backbone.js路由Router的使用
2014-05-09 11:33 1523路由的使用很简单,路由的转向 router.navigate( ...
相关推荐
backbone.js提供了一套web开发的框架,为复杂javascript应用程序提供一个mvc结构。, 《backbone.js应用程序开发》详细介绍了如何使用backbone.js完成web应用开发。全书从了解mvc、spa和backbone.js的基本知识开始,...
Backbone.js is a popular library to build single page applications used by many start-ups around the world because of its flexibility, robustness and simplicity. It allows you to bring your own tools ...
Backbone.js提供了一套Web开发的框架,为复杂的JavaScript应用程序提供了一个MVC结构。 《Backbone.js应用程序开发》详细介绍了如何使用Backbone.js完成Web应用开发。全书从了解MVC、SPA和Backbone.js的基本知识...
backbone.js提供了一套web开发的框架,为复杂javascript应用程序提供一个mvc结构。 《backbone.js应用程序开发》详细介绍了如何使用backbone.js完成web应用开发。全书从了解mvc、spa和backbone.js的基本知识开始,...
Backbone.js is a popular library to build single page applications used by many start-ups around the world because of its flexibility, robustness and simplicity. It allows you to bring your own tools ...
backbone.routemanager, 更好的backbone.js 项目路由管理 backbone.routemanager由 Tim Branyen @tbranyen 创建。向 Backbone.Router 提供缺少的特性。依赖于下划线,Backbone 和 jQuery 。 你可以使用定制配置完全...
backbone.d3, 使用 backbone.js 视图的可重用D3可视化 backbone.d3 backbone.d3 是一个 backbone.js 插件插件,它使用 D3.js 可视化库插件提供一组可重用图表。继续进行调优,了解更多信息 !版权和许可证版权所有 ...
[奥莱理] Backbone.js 应用程序开发 (英文版) [奥莱理] Developing Backbone.js Applications (E-Book) ☆ 出版信息:☆ [作者信息] Addy Osmani [出版机构] 奥莱理 [出版日期] 2013年05月29日 [图书页数] 374...
backbone.js提供了一套web开发的框架,为复杂javascript应用程序提供一个mvc结构。, 《backbone.js应用程序开发》详细介绍了如何使用backbone.js完成web应用开发。全书从了解mvc、spa和backbone.js的基本知识开始,...
backbone.js框架的简单入门教程,教程目的就是让初学者快速在项目中运用backbone.js
Backbone.js API中文文档,供有需要的伙伴们使用。 Backbone.js API中文文档,供有需要的伙伴们使用。 Backbone.js API中文文档,供有需要的伙伴们使用。
Apress.Beginning.Backbone.js.Dec.2013
Tutorialspoint Backbone.js 教程
You'll learn how to create structured JavaScript applications, using Backbone's own flavor of model-view-controller (MVC) architecture. Start with the basics of MVC, SPA, and Backbone, then get your ...
Backbone.NativeView, 本机 Backbone.View的引用实现 Backbone.NativeView仅使用原生DOM方法进行元素选择和事件委派的Backbone.View 替换。 它对jQuery没有依赖性。注:Backbone.NativeView 依赖 Backbone 版本 ...
backbone.js,underscore.js,jquery-1.10.2.js
Backbone.js实战.zip 电子书 高清的