Fragen Sie sich, ob jemand einen besseren Weg gefunden hat, einen Klick außerhalb eines divs zu handhaben, während er Ember benutzt? Ich kenne den jQuery-Weg mit einem globalen Click-Handler, der jede Aktion für bestimmte Instanzen angeben muss, aber ich hoffe, dass jemand eine Möglichkeit gefunden hat, dies in einer Ember-Ansicht zu deklarieren. Außerdem habe ich versucht, die ol 'geben Sie einen div einen Tab-Index und verwenden Sie die auf Unschärfe, aber Ember-Aktionen scheinen dies nicht zu erlauben.Ember - Handhabung klickt außerhalb der Sicht
Antwort
Danke für die Eingabe. Ich ging zurück und las erneut die Dokumentation auf jQuerys .on
. Mir war nicht bewusst, dass Sie das Ereignis mit einem Namensraum versehen könnten. Also nahm ich beide Kommentare und kombinierte sie mit so etwas.
Dadurch kann das Ereignis für jede View-Instanz spezifisch sein, was ich wollte. Danke Leute!
Ich gehe davon aus, dass 'detachClickHandler()' aus dem 'willDestroyElement'-Hook der Ansicht aufgerufen wird? – Zaki
Ich wusste nichts über den Namespace der Ereignisse :) –
Sie ClickElsewhereMixin nützlich
sind nur die mixin auf jede Komponente und implementieren onClickElsewhere()
- 1. jQuery, wenn Benutzer außerhalb des Formulars klickt
- 2. UITextField abwählen, wenn man außerhalb klickt
- 3. Tastatur abbrechen, wenn der Benutzer außerhalb von TextView klickt.
- 4. Handhabung Klicks außerhalb eines Elements ohne jquery
- 5. Globale Fehler (außerhalb des Controllers) in ASP.NET MVC Handhabung
- 6. Updating Modell aus der Sicht
- 7. Three.js Zeile verschwindet, wenn ein Punkt außerhalb der Sicht der Kamera ist
- 8. DIV verstecken, wenn der Benutzer auf iPhone/iPad/Mobile Safari außerhalb davon klickt
- 9. wie Sie ein WPF-Dialogfenster schließen, wenn der Benutzer außerhalb davon klickt
- 10. ember Form der Eingabevalidierung
- 11. Ember Daten ohne Ember?
- 12. Android: Viewgroup aus der Sicht?
- 13. Glut Attribute nicht in Sicht, nur ID
- 14. Ember Ember-views.render-Doppel ändern
- 15. Handhabung der Tastatur in der Dropdown-Liste
- 16. auth0 Handhabung abgelehnt Berechtigungen
- 17. Ember Datetime in der URL
- 18. Ember: Ember mit Emblem herunterbauen
- 19. Ember 2.0 ohne Ember cli?
- 20. Lernereignis Handhabung
- 21. Ember gebundener Blockhelfer
- 22. Ändern Rasierer Layout außerhalb der Ansicht
- 23. Ember checkbox input helper
- 24. cattr_accessor außerhalb der Schienen
- 25. Arrays außerhalb der Hauptmethoden?
- 26. UIAlertView außerhalb der App
- 27. Beschriftung außerhalb der Tabelle?
- 28. Anrufereignis außerhalb der Funktion
- 29. Rückgabewert außerhalb der Funktion
- 30. Handhabung der Produktion/dev/Testkonfigurationen in sails.js
Ich verstehe nicht finden können, was das Problem ist. Sie können das Ereignis basierend auf einem Regexp-Ausdruck delegieren, dies erfordert nichts Verrücktes. Selbst wenn man sich die Dokumentation von Ember.js anschaut, stellt man fest, dass die '.on()' Methode von jQuery der Ansatz ist, den sie verwenden, um Delegationsprobleme entlang großer Teilmengen von Elementen zu lösen, verschachtelt oder nicht. – Ohgodwhy
Sie können das Ereignis ['didInsertElement'] (http://stackoverflow.com/questions/11377215/can-i-give-the-view-a-show-up-animation-in-emberjs/11377899#11377899) verwenden um ein Plug-in zu starten und so weiter. Und Sie sollten ['willDestroyElement'] (http://emberjs.com/api/classes/Ember.View.html#event_willDestroyElement) verwenden, um Bindungen zu entfernen. Alternativ können Sie ['View # on'] (http://emberjs.com/api/classes/Ember.View.html#method_on) verwenden. – MilkyWayJoe