【问题标题】:Button Onclick event and backbone.js view按钮 Onclick 事件和backbone.js 视图
【发布时间】:2015-10-09 12:31:22
【问题描述】:

我目前有一个包含以下内容的 html 文件:

<div class="button1">

    <button class="first" id="up" onclick="tranistionUp">
       Go Up
    </button>

    <button class="last" id="down" onclick="tranistionDown">
       Go Down
    </button>
</div>

我在一个主干.js 视图文件中有以下内容:

var BlahView = BackBone.View.extend({
  initialize:function(){},
  blah...
  blah...
 transitionUp: function(){
    blah...
 },
 tranistionDown: function(){
},
render:function (){
    blah....
}; 
});

当我点击按钮时,我看到两个函数的未定义函数错误,我是新来的主干,任何帮助都会很棒。

【问题讨论】:

    标签: javascript backbone.js backbone-views backbone-events


    【解决方案1】:

    您应该在Backbone.View 中设置您的事件处理程序。

    HTML(将id="myButtons" 添加到容器div

    <div class="button1" id="myButtons">
      <button class="first" class="button-up">Go Up</button>
      <button class="last" class="button-down">Go Down</button>
    </div>
    

    JavaScript(添加events

    var BlahView = Backbone.View.extend({
    
      events: {
        "click .button-up": "transitionUp",
        "click .button-down": "tranistionDown",
      },
    
      transitionUp: function() {
        console.log("Transition up");
      },
    
      tranistionDown: function() {
        console.log("Transition down")
      }
    
    });
    
    var blahView = new BlahView({ el: $('#myButtons') });
    

    通过指定onclick 属性,您的浏览器将在全局范围内期待名为transitionUptransitionDown 的函数。您的方法在对象中定义。通常不鼓励使用 HTML 属性绑定事件处理程序,尤其是在您使用 Backbone 时(因为您无法轻松地将事件绑定到视图的特定实例)。

    【讨论】:

    • 应该是 var BlahView = Backbone.View.extend({ 它的一个单词前导大写而已
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多