日期:2014-05-16  浏览次数:20331 次

backbone 2个model,2个view的事件触发问题?
本帖最后由 WDYDXF 于 2014-01-14 11:00:21 编辑
假设页面有一个View,有一个Model,实例化modelA,设置为viewA的model.
实例化modelB,设置为viewB的model.
View监听一个自己元素的click事件,现在触发这个click事件后,这个click被执行了2次.
具体见代码:
 var CustomView = Backbone.View.extend({
                el: $('body'),
                events: {
                    "click .btnClick": "onClick"
                },
                initialize: function () {
                    this.render();
                },
                render: function () {
                    this.$el.append("<div class='btnClick' style='background-color:red; width:100px;height:100px'></div>");
                },
                onClick: function () {
                    console.log('onClick');
                }
            });

            var CustomModel = Backbone.Model.extend({
                defaults: {
                    name: 'test'
                }
            });

            var modelA = new CustomModel();
            var modelB = new CustomModel();

            var viewA = new CustomView({ model: modelA });
            var viewB = new CustomView({ model: modelB });




现在点击某一个div,可以在控制台中看到输出了2次"onClick",这是为什么?
现在希望点击哪个div,执行哪个div的onClick事件,应该怎么做呢?
请指导一下,谢谢