Chiedersi se qualcuno ha trovato un modo migliore per gestire un clic all'esterno di un div durante l'utilizzo di Ember? Conosco il modo jQuery con un gestore di clic globale che è necessario specificare ogni azione da intraprendere per determinate istanze, ma spero che qualcuno abbia trovato un modo per dichiararlo all'interno di una vista Ember. Inoltre, ho provato a dare un indice di tabulazione div e usare l'opzione a sfocatura, ma le azioni di Ember non sembrano consentirlo.Ember - Gestione dei clic all'esterno della vista
risposta
Grazie per l'input. Sono tornato indietro e ho letto di nuovo la documentazione su jQuerys .on
. Non ero a conoscenza del fatto che si potesse assegnare un nome all'evento. Quindi ho preso entrambi i commenti e li ho combinati con qualcosa di simile.
didInsertElement: function() {
Ember.run.next(this, 'attachClickHandler');
},
attachClickHandler: function(){
var temp = this;
$(window).on("click." + temp.elementId, function (e){
//...event here
});
},
detachClickHandler: function(){
$(window).off("click." + this.elementId);
},
Ciò consente all'evento di essere specifico per ogni istanza di visualizzazione, che è ciò che volevo. Grazie ragazzi!
Suppongo che 'detachClickHandler()' sia chiamato dall''attacco 'willDestroyElement' della vista? – Zaki
Non conoscevo l'evento namespacing :) –
si possono trovare ClickElsewhereMixin utile
appena includono il mixin su qualsiasi componente e implementare onClickElsewhere()
- 1. operazione di gestione in vista non router
- 2. Gestione della migrazione dei binari - best practice?
- 3. Gestione della mappa dei file in C++
- 4. Come disabilitare il listener dei clic sulla vista immagine android
- 5. Get Ember Vista da jQuery oggetto
- 6. StoryBoard gestione ereditaria controller vista
- 7. Gestione dei dati di bordo 401's
- 8. Ember Cli Regolazioni della gonfiatura
- 9. CLI di Ember: Build per la gestione temporanea
- 10. Gestione dei cookie corretta
- 11. Bootstrap dei modelli di dati in Ember?
- 12. intesa Ember Visto
- 13. Gestione della durata dell'oggetto e dell'oggetto all'interno dei vettori STL
- 14. Pulizia della gestione spazio dei nomi con dom4j
- 15. Gestione della memoria JVM e libro di raccolta dei rifiuti?
- 16. Gestione dei reindirizzamenti URL in UIWebView
- 17. come nascondere l'utente della vista utente non usa la vista?
- 18. In che modo le persone gestiscono la gestione della produzione del sistema di gestione dei contenuti?
- 19. UIActivityViewController: colore della tinta dei controller di vista presentati
- 20. dattiloscritto di gestione dei pacchetti
- 21. Gestione dei segnali in C
- 22. Gestione dei plug-in Vim
- 23. Gestione dei guasti con Fabric
- 24. Gestione dei download in Java
- 25. React + Sails: gestione dei percorsi
- 26. Gestione delle eccezioni dei nodi
- 27. SQLAlchemy - Gestione dei guasti vincolo
- 28. XOPEN_SOURCE e gestione dei segnali
- 29. Gestione dei documenti tramite GIT
- 30. Ember multiple istanza di controller
non capisco qual è il problema. È possibile delegare l'evento in base a un'espressione regolare, ciò non richiede alcuna follia. Anche dare un'occhiata alla documentazione di Ember.js afferma che l'uso del metodo '.on()' di jQuery è l'approccio che usano per risolvere i problemi di delega lungo ampi sottoinsiemi di elementi, nidificati o meno. – Ohgodwhy
È possibile utilizzare l'evento ['didInsertElement'] (http://stackoverflow.com/questions/11377215/can-i-give-the-view-a-show-up-animation-in-emberjs/11377899#11377899) per avviare un plug-in e cose del genere. E dovresti usare ['willDestroyElement'] (http://emberjs.com/api/classes/Ember.View.html#event_willDestroyElement) per rimuovere i bind. In alternativa puoi usare ['Visualizza # on'] (http://emberjs.com/api/classes/Ember.View.html#method_on). – MilkyWayJoe