Giriş elemanında "ng-model" kullandım ve krom denetçisiyle bu elemanı gözlemledim. Fakat giriş öğesinin her onxxx özelliği (değiş tokuş dahil) null. Ardından, AngularJS kullanıcı girişi tarafından tetiklenen "onchange" olayını nasıl yakalayabilir?AngularJS, 'onclick', 'onchange' gibi olayları dahili olarak nasıl yakalar?
cevap
.
Köşeli, varsayılan olarak, input
olayını dinler ve tarayıcı tarafından desteklenmediği takdirde, keydown
+ change
olaylarına geri dönecektir.
Olaylar, jQlite'ın bağlama yöntemi ile bağlanır (tam jQuery'niz yoksa, bu durumda bağlantı yöntemi devralınır).
Kendinizi denetleyebileceğiniz örnek giriş öğesi, input [email] yönerge doküman sayfasında bulunur. Giriş olayını işlemekten sorumlu
Artık tamamen açık. Teşekkür ederim! – firia2000
Neden jquery giriş olayını val() ile tetiklemiyor !!! Bu değişikliği başka nasıl doğru bir şekilde yayıyorsunuz? – tommybananas
@ snowman4415 Bunu beğendi: http://stackoverflow.com/a/17110709/1095616 – Stewie
kullanarak herhangi DOM düğüme olay dinleyicileri ekleyebilirsiniz:
node.addEventListener (eventName, listenerMethod, useCapture) Eğer addEventListener node.onchange için bir yöntem, daha önce atanmış iken
, etmelisin 'değişiklik' etkinliğine bir etkinlik dinleyicisi ekleyin veya 'tıklayın'.
bakınız: $destroy
ve input
: Chrome'un Olay Dinleyiciler sekmesinde, siz (ekli ng-modeli ile) standart metin giriş elemanı bunu ekli iki olay dinleyicisi olduğunu göreceksiniz incelemek, varsa https://developer.mozilla.org/en-US/docs/DOM/EventTarget.addEventListener
Soru, özellikle angularjs hakkında, dom olay işleyicileri değil –
Eh, AngularJS hala DOM ile javascript? Yani açısal DOM kullanarak bazı olay dinleyicileri eklemek, açısal bilmiyorum, ama sanırım olay belge öğeye ekli ve DOM olayı hangi hedefi alacağını filtrelemek için olay kabarcıklandırma kullanıyorlar. – KKetch
Tabanda, evet zorunda. Ama aslında, sizin "varsaydığınız" şekilde çalışmaz. Neyin değiştiğini bulmak için kirli kontrol modelini kullanır. Bu konuda daha fazlasını okuyabilirsiniz: //stackoverflow.com/questions/9682092/databinding-in-angularjs –
- 1. Onchange/onclick bir onay kutusu IE
- 2. AngularJS, onChange veya ngChange öğesini seçin
- 3. RecyclerView öğesinde tokatlamak ve OnClick olayları
- 4. SVG Algıla Onclick olayları "doldur: yok"
- 5. Bir onchange olayını manuel olarak nasıl tetikleyebilirim?
- 6. onChange
- 7. Bipozlar dahili olarak nasıl temsil edilir?
- 8. JavaScript null değerlerini dahili olarak nasıl saklar?
- 9. Java arabirimleri dahili olarak nasıl uygulanır? (vtables?)
- 10. AngularJs: Yöntemin, $ http veya $ kaynağını dahili olarak çağırdığında eşzamanlı olarak dönmesi gerekir.
- 11. Bir ComboBox, düşürüldüğünde fareyi nasıl yakalar?
- 12. onclick işlevi otomatik olarak çalışır
- 13. Cron dahili olarak işleri nasıl planlar?
- 14. Değişken takas işlemi dahili olarak nasıl çalışır?
- 15. Python mağazası nasıl dahili olarak listeler?
- 16. MySQL deposu zaman damgasını dahili olarak nasıl?
- 17. JQuery animate işlevi dahili olarak nasıl çalışır?
- 18. Erlang alma mesajı - dahili olarak nasıl yapılır?
- 19. nasıl angularjs öğreniyorum angularjs
- 20. Olayları açısal olarak nasıl test edebilirim?
- 21. jQuery Özel olayları tam olarak nasıl çalışır?
- 22. MVP'yi Kullanma - Olayları Düzgün Olarak Test Etmek İçin Olayları Kullanma
- 23. html metin girişi onchange olayı
- 24. AngularJS
- 25. Seçme seçenek onclick PHP onclick
- 26. Angularjs ui-grid olayları veri güncellemesinden sonra satır başına kaldırılmıyor
- 27. Dahili Uzantıya Dahili Gömülü Çerçeve
- 28. JSF dahili sayfası nasıl programlanır?
- 29. AngularJS - Rota - Yıldız (*) yol olarak nasıl eşleştirilir
- 30. Tomcat oturumu dahili olarak nasıl işler? Benim anlayış
http://stackoverflow.com/questions/9682092/databinding-in-angularjs adresinden kontrol edebilirsiniz. –
@fastreload Teşekkürler! Bu makaleyi okudum ama hala net değil. Bu makaleye göre, AngularJS kirli kontrol için $ apply() ve $ digest() kullanır. Ama bu işlevleri kim çağırıyor? 'Açısal' modül yoklama için setInterval() gibi bir şey kullanıyor mu? – firia2000
"Sindirme" aşamalarını başlatan birkaç olay izleyicisi var, Stewie'nin cevabı biraz ayrıntı içeriyor. –