2012-03-16 23 views
14

Me gustaría utilizar algunas bibliotecas de terceros basadas en jquery con ember. Esta biblioteca se une evento el elemento de la siguiente manera:Cómo enlazar eventos jquery en mi vista

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

¿Cómo coger el enEvent evento en mi Ember ver y utilizar un controlador de eventos basados ​​Ember. Algo así como:

App.MyView = Em.View.create({ 

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

Respuesta

15

Utilizar la devolución de llamada didInsertElement en una vista, que se invoca cuando los puntos de vista se ha añadido a la DOM. A continuación, puede acceder al elemento agregado a través del this.$().

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

recientemente he publicado una entrada de blog (actualizado a partir de un antiguo puesto por wycats) que cubre esto y más integración con jQuery UI: http://www.lukemelia.com/blog/archives/2012/03/10/using-ember-js-with-jquery-ui/ –

+0

En la versión 0.9.6 tenemos la nueva mezcla Ember.evented que puede hacer lo mismo. – jrabary

+2

Intenté usar _ $(). Bind (... _ pero _this_ está vinculado al elemento DOM que al objeto de vista que generalmente no se desea. – JanD

Cuestiones relacionadas