javascript - 是否将多个事件添加到内部 View 主干?

标签 javascript backbone.js

所以这里我有两个 View addBook 和 showBooks ,想法是,当我单击按钮时,它应该将书名和作者添加到 DOM 中,它是

  • ,我应该能够点击它。但问题是为每个
  • 元素添加了多个事件处理程序。也就是说,对于每个新的内部 View ,都会添加多个点击事件,我在主干中是相当新的,而且我仍然处于黑暗中 这是我的代码,首先是外部 View

    var addBook = Backbone.View.extend({
            el : $('#addbook'),
            model : bookmodel,
            template : _.template(addbookTemplate,{}),
            initialize : function(val){
                this.el.html(this.template);
                bookcollection.bind('add', this.showOff)
            },
            render : function(){
            },
            events : {
                'click #addbookbutton' : 'addHandler'
            },
            addHandler : function(){                
                var book =  new this.model;
    book.addValues($('#bookname').val(), $('#bookauthor').val());
     bookcollection.add(book);
    
    
            },
            showOff : function(buk){
                this.xx = new showval({model: buk});
                $('#fatman').append((this.xx.render().el));
            }
        });
        return addBook;
    

    现在是第二个内部 View

    var showbooks = Backbone.View.extend({
            events : {
                'click .individual' : 'deleteHandler'
            },
            initialize : function(values){
                _.bindAll(this);
                /*if(values){*/
    
                    //return this.template;
                //}
                //values = (values == "") ? {} : values;
                this.el.append(this.template);
            },
            render : function(){
                this.el = _.template(show, {name : "Max", author : "jk"});
                this.delegateEvents();
                return this;    
            },
    
            deleteHandler : function(e){
                alert("this kills me")
            }
        });
        return showbooks;
    

    现在,当我单击按钮时,问题就出现了

  • 被添加到DOM按钮中,但对于每个新的li,都会触发另一个警报...非常感谢帮助,我知道我我错过了一些关键点..!

  • 最佳答案

    我已经拿走了你的代码并稍作修改。我创建了 2 个 Backbone.View,一个作为容器,另一个用于书籍项目。虽然很粗糙,但希望能让您了解哪里出了问题。 http://jsfiddle.net/cQEu2/

    关于javascript - 是否将多个事件添加到内部 View 主干?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15186777/

    相关文章:

    javascript - 检测区别于单击并拖动或双击并拖动的单击事件

    javascript - 在 backbone.js Facebook 应用程序中添加历史状态(在 iframe 中)

    Facebook OG 被 BackboneJS 网站重定向到索引页面

    javascript - 更新 LayoutView 的模型

    javascript - 如何将 Node.js、MongoDb 和 Backbone.js 组合在一个应用程序中?

    javascript - 打开输入和日期选择器的 JQueryUI 日期选择器

    javascript - ajax调用后如何保留toggleClass事件状态?

    javascript - socket.io 向服务器发送轮询请求

    javascript - GPU 选择在不同设备上不一致

    javascript - backbone.js 用于将模型与另一个模型连接