2011-12-30 5 views
1

インタビューの準備の一環として、バックボーンとスパインフレームワークスを含むJavaScriptと一緒にMVCのスキルを読んでください。MVC3 Webサイト(完全な初心者)を使用してバックボーンJSイベントを発生させることはできません剃刀

私は多くのウェブサイトを読んだことがありますが、さまざまな方法がありましたが、簡単な例は分かりません。これまでのところ私は...

のdivとボタン...

<div id="AuthorSection"> 
    <button id="sayhello">Add Author</button> 
</div> 

、それがレンダリングされたときに私に警告著者JSファイルを使用して簡単な「CSHTML」ファイルを以下のが、していませんイベントは、任意のヘルプは、この種の作業に非常に新しい誰かのために高く評価されるだろう...

(function ($) { 
Authors = Backbone.View.extend({ 

    el: $('#AuthorSection'), 
    events: { 'click #AddAuthor': 'AddNewAuthor' 
    }, 

    initialize: function() { 
     _.bindAll(this, 'render', 'AddNewAuthor'); 
     this.render(); 
    }, 

    render: function() { 
    }, 

    AddNewAuthor: function (e) { 
     alert('Adding Author'); 
    } 
}); 

var Authors = new Authors; 

})(jQuery); 

を解雇されたとき....

おかげ

+0

user585886

答えて

1

は、それが動作するはずです:あなたはあなたのイベントは次のようにハッシュ更新する必要がありますので、ボタンの

idは、sayhelloです

一方、DOMをロードする前にコードを実行すると、その時点で$( '#AuthorSection')は不明です。あなたのビューでエル宣言を削除し、http://jsfiddle.net/C5HXH/1/

を参照してください

$(function(){ 
    new Authors({el: $('#AuthorSection')}); 
}); 

によって

var Authors = new Authors; 

を交換し、あなたの変数コンストラクタの名前よりも別の何かに名前を付ける必要があります

+0

ありがとうthats働いた! – user585886

0

イベントハッシュに不正なセレクタがあるようです。あなたのコードが実行されるとDOMがロードされた後、このフィドルがhttp://jsfiddle.net/VcHn8/を示して

events: { 'click #sayhello': 'AddNewAuthor' 
+0

謝罪誰かが気付く前にそのエラーに気づき、コメントをしようとしました。私はボタンを " "でも同じ問題があります。ありがとうございます。 – user585886

関連する問題