2011-06-18 10 views
18

私はRails3を私のバックエンドとして使用しており、資産としてJammitを使用しています...今、私はasstesを圧縮し、パッケージ化しようとしています。バックボーンビューイベントが起動しない

単純なイベントは実行されませんが、警告( 'asd')int inializeは期待どおりに動作しています。

他のオブジェクトでもすでに他の種類のイベントを試していますが、動作しませんでした。

次のように私のコード:

と私のRUBY HTML:

<%= text_field 'search', :isbn_or_isbn10_or_publisher_or_authors_or_name_like, :id => 'product_finder' %> ou 
<%= link_to 'criar um produto', '', :id => 'new_product_link' %>. 

これを生成します。

<label>Adicionar</label> 
<input id="product_finder" class="ui-autocomplete-input" type="text" size="30" name="search[isbn_or_isbn10_or_publisher_or_authors_or_name_like]" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true"> 
ou 
<a id="new_product_link" href="">criar um produto</a> 

答えて

57

バックボーンビューは、要素のコンテキスト内で起こります。

var InvoiceStock = Backbone.View.extend({ 
    el: $('#product_finder').parent() 

... 

やELに製品のファインダーが含まれている特定のDOMオブジェクトを割り当てる:このコードが動作するためには、次のような構築時にビューにその要素を割り当てる必要があります。あるいは、要素を動的に生成し、jQueryを使用してDOMにアタッチすることもできます。私は両方を使用しました。

バックボーンは、jQueryデリゲートを使用してイベントを指定し、コンテキストを設定します。ビュー全体に親要素を指定しない場合、Backboneはイベントマネージャを正しく割り当てません。

+1

Worked。ありがとう;) – pedrofs

+0

申し訳ありません、現在受け入れて! – pedrofs

+2

FYI:ビューの初期化関数で$ elを宣言することもOKです。 – Fatmuemoo