`

backbone.js的View里的事件重复调用

阅读更多
   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的停止事件监听方法。

   如果一个视图是在闭包里完成的,如

  

     (function(){

       var View = Backbone.View.extend({
            'click #id':'btnClk'
          });

       var v = new View();
       v.render();

      })()
   

   
   这样的话,丢失了view的引用,这个事件就无法删除,在运行期间会一直有效。
分享到:
评论

相关推荐

    BACKBONE.JS应用程序开发

    backbone.js提供了一套web开发的框架,为复杂javascript应用程序提供一个mvc结构。, 《backbone.js应用程序开发》详细介绍了如何使用backbone.js完成web应用开发。全书从了解mvc、spa和backbone.js的基本知识开始,...

    Mastering.Backbone.js.1783288

    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应用程序开发--高清版

    Backbone.js提供了一套Web开发的框架,为复杂的JavaScript应用程序提供了一个MVC结构。  《Backbone.js应用程序开发》详细介绍了如何使用Backbone.js完成Web应用开发。全书从了解MVC、SPA和Backbone.js的基本知识...

    Backbone.js应用程序开发 中文清晰完整版pdf

    backbone.js提供了一套web开发的框架,为复杂javascript应用程序提供一个mvc结构。 《backbone.js应用程序开发》详细介绍了如何使用backbone.js完成web应用开发。全书从了解mvc、spa和backbone.js的基本知识开始,...

    Mastering Backbone.js(PACKT,2015)

    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 项目路由管理.zip

    backbone.routemanager, 更好的backbone.js 项目路由管理 backbone.routemanager由 Tim Branyen @tbranyen 创建。向 Backbone.Router 提供缺少的特性。依赖于下划线,Backbone 和 jQuery 。 你可以使用定制配置完全...

    backbone.d3, 使用 backbone.js 视图的可重用D3可视化.zip

    backbone.d3, 使用 backbone.js 视图的可重用D3可视化 backbone.d3 backbone.d3 是一个 backbone.js 插件插件,它使用 D3.js 可视化库插件提供一组可重用图表。继续进行调优,了解更多信息 !版权和许可证版权所有 ...

    [Backbone.js] Backbone.js 应用程序开发 (英文版)

    [奥莱理] Backbone.js 应用程序开发 (英文版) [奥莱理] Developing Backbone.js Applications (E-Book) ☆ 出版信息:☆ [作者信息] Addy Osmani [出版机构] 奥莱理 [出版日期] 2013年05月29日 [图书页数] 374...

    Backbone.js应用程序开发

    backbone.js提供了一套web开发的框架,为复杂javascript应用程序提供一个mvc结构。, 《backbone.js应用程序开发》详细介绍了如何使用backbone.js完成web应用开发。全书从了解mvc、spa和backbone.js的基本知识开始,...

    backbone.js入门教程

    backbone.js框架的简单入门教程,教程目的就是让初学者快速在项目中运用backbone.js

    Backbone.js API中文文档

    Backbone.js API中文文档,供有需要的伙伴们使用。 Backbone.js API中文文档,供有需要的伙伴们使用。 Backbone.js API中文文档,供有需要的伙伴们使用。

    Apress.Beginning.Backbone.js.Dec.2013

    Apress.Beginning.Backbone.js.Dec.2013

    Tutorialspoint Backbone.js 教程

    Tutorialspoint Backbone.js 教程

    Developing Backbone.js Applications

    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的引用实现.zip

    Backbone.NativeView, 本机 Backbone.View的引用实现 Backbone.NativeView仅使用原生DOM方法进行元素选择和事件委派的Backbone.View 替换。 它对jQuery没有依赖性。注:Backbone.NativeView 依赖 Backbone 版本 ...

    backbone.js underscore.js

    backbone.js,underscore.js,jquery-1.10.2.js

    Backbone.js实战.zip

    Backbone.js实战.zip 电子书 高清的

Global site tag (gtag.js) - Google Analytics