2012-03-16 7 views
14

jqueryとemberをベースにしたサードパーティライブラリを使用したいと思います。このライブラリ は、このような要素にイベントをバインドします私のビューでjqueryイベントをバインドする方法

$('#an-id') 
    .bind('anEvent', function (event, params) { ... }) 

私は私のエンバービューにイベントにenEventをキャッチし、エンバーベースのイベントハンドラを使用するにはどうすればよいです。以下のような何か:

App.MyView = Em.View.create({ 

    myEventHandler: function(event,params) { ....} 
}) 

答えて

15

ビューがDOMに追加された時に呼び出されるビュー、上didInsertElementコールバックを使用してください。追加された要素にはthis.$()でアクセスできます。

App.MyView = Em.View.create({ 
    didInsertElement: function() { 
     this.$().bind('anEvent', ...); 
    } 
}); 
​ 
+1

最近、jQuery UIとの統合について詳しく説明したブログ記事(wycatsの古い記事から更新)を投稿しました:http://www.lukemelia.com/blog/archives/2012/03/10/using-ember-js-with-jquery-ui/ –

+0

0.9.6バージョンでは、同じことをすることができる新しいEmber.eventedミキシングが用意されています。 – jrabary

+2

私は_ $()。bind(... _しかし_this_はDOMオブジェクトにバインドされていますが、通常望ましくないビューオブジェクトにバインドされています)を使用しようとしました。 – JanD

関連する問題