2012-02-01 8 views
3

ここには事があります。私はbackboneJSを使用するアプリを作っています。私は現在、異なる行のリストを作成しています。各行には、編集ボタン(editRow)と削除ボタン(removeRow)があります。現在editRowが動作しており、この場合はmodalWindowとapp.EditRowViewという新しいビューが作成されます。このビューには、単にバインドできない別のボタンがあります。バインドされない関数はmodalWindowです。 手がかりはありますか?私の論理は間違っていますか?ビューは他のビューを作成しませんか? いつものように助けてください。ビューを作成するバックボーン・ビュー

 
    app.FormRowView = Backbone.View.extend({ 
     tagName:'li', 
     events: { 
      "click .danger"   : "removeRow", 
      "click .primary"  : "editRow" 

     }, 

     initialize:function(){ 
      var template =this.model.get('temp'); 
      _.bindAll(this, 'render'); 
      this.model.bind('change', this.render); 
      this.template = _.template($("#"+template).html()); 
     }, 

     render:function(){ 
      var renderedContent = this.template(this.model.toJSON()); 

      $(this.el).html(renderedContent); 

      $(function() { 
       $(".sortable").sortable(); 
       $(".sortable").disableSelection(); 
      }); 


      return this; 

     }, 

     removeRow:function(){ 
      $(this.el).remove(); 
     }, 

     editRow:function(){ 
      var view = new app.EditRowView({ 
       model:this.model, 
       collection: this.collection 
      }); 
      $("body").append(view.render().el); 
      return this; 
     } 

    }); 

    app.EditRowView = Backbone.View.extend({ 

     events: { 
      "click .save"  : "modalWindow" 
     }, 

     initialize:function(){ 

      var template =this.model.get('editScreenTemplate'); 
      _.bindAll(this, 'render'); 
      this.model.bind('change', this.render); 
      this.template = _.template($("#"+template).html()); 
     }, 

     render:function(){ 
      var renderedContent = this.template(this.model.toJSON()); 
      $(this.el).html(renderedContent); 
      return this; 

     }, 

     modalWindow:function(){ 
      alert("im in"); 

     } 
    }); 


基本的に何が起こっていることは、関数モーダルウィンドウが発火しないことです。私はUIの中に適切な要素(クラス.saveのボタン)を持っています

答えて

0

だから、私はそれを忘れてしまいました。デリゲートイベントがそのビューにバインドされるためには、tagNameを指定する必要があります。 ありがとうございました

関連する問題