骨干.js事件没有开火,我不明白为什么

backbone.js events not firing and I don't understand why

本文关键字:明白 为什么 开火 js 事件 骨干      更新时间:2023-09-26

基于我不知道有多少例子。这应该有效,但事实并非如此。我对 Backbone 很陌生.js这只会伤害我的头,因为我可以闭着眼睛编写基于 jquery 的代码,我可以编写原生 JavaScript 没有问题。但是这个,什么?为什么?点击不起作用,据我所知,"事件"只是不注册。我可以不对div 做活动吗?或者我错过了什么?

现在我知道这将被标记为重复项,我知道人们只会链接到其他一些示例。问题是我可能已经看过了,比较了,但仍然一辈子都搞不清出了什么问题。它一直工作到事件,当我单击div 时,我会假设事件被触发而它没有。这是我的问题,我不知道为什么,不知道为什么是什么导致头痛

<div id="test"></div>
<div>Test</div>
        <script>
            var BodyView = Backbone.View.extend({
              el: '#test',
              events:{
                  "click #test"         : "changeColorOne"
              },
              changeColorOne: function()
              {
                  console.log('hate');
                  $(this.el).css({color:'#00F'});
              },
              changeColorTwo: function()
              {
                  $(this.el).css({color:'#000'});
              },
              render: function(str)
              {
                 $(this.el).html('Hello').css({color:'#F00'});
                 $(this.el).append(' World');
              },
              initialize: function()
              {
                  this.render();
              }

            });
            var body = new BodyView();
            console.log(body.el);
        </script>

click #test正在尝试附加到将为空的$('#test').find('#test')

在容器中选取一个元素,或删除要附加到容器的#test

el: '#test',
events:{
  "click" : "changeColorOne"
}

小提琴