2012-03-16 29 views
14

我想使用一些基於jquery和ember的第三方庫。這個庫 結合事件元素上是這樣的:如何在我的視圖中綁定jQuery事件

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

如何捕捉事件enEvent到我的灰燼查看和使用基於灰燼事件處理程序。喜歡的東西:

App.MyView = Em.View.create({ 

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

回答

15

使用didInsertElement回調上來看,當意見已被添加到DOM這被調用。然後您可以通過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/ – 2012-03-16 14:09:30

+0

在0.9.6版本中,我們有了新的Ember.evented混合,可以做同樣的事情。 – jrabary 2012-04-19 09:05:00

+2

我嘗試使用_ $()。bind(... _但_this_綁定到DOM元素,而不是通常不需要的視圖對象。 – JanD 2013-04-18 16:39:22