İlk Kodda Bahsettiğiniz Satır Mevcut değildi..
Amaç uyarı satırını Gizlemekse eğer ikinci kod bloğunda eklenen
$("h6#kadiuyarisi").css({display:'none'},1000) Satırı Bu işi görüyor..
Keyup eventine gelincede malumunuz bir giriş varmı bir tuştan çekilme varmı kontrol ediyor ..
Bunu inputun change olayındada yapabilirdi,
İnputun change olayına bahsettiğiniz satırları yazarsanız aynı işlemi görmez mi ??
Eğer aynı işlemi yapıyorsa Olayı Yapan Keyup mı yoksa bahsettiğimiz display none satırımıdır ?
Ben Çok fazla bu konuları bilen biri değilim Öğrenmek için soruyorum hocam..
bilgilendirmek adına olayı açıklıyorum asıl işi yapan
$("h6#kadiuyarisi").css({display:'none'},1000)
satırıdır ama bu satırı durduk yerde çalıştıramazsın, kullanıcının hatayı görüp görmediğinden emin olmak gerekir bunuda anlamanın en kolay yolu eğer input'ta hata mesajı varsa kullanıcı input'i değiştirmek isteyecektir burdada arkadaş keyup event'ini devreye koymuş eğer input'a bir tuş girişi var ise yukarıda kodu çalıştırıyor yani keyup event'i yukarıda kodu tetikliyor.
diğer konuya dönecek olursak bunu yapmanın birçok yolu vardır.
fakat en mantıklısı bana göre keypress'dir. change ve keyup aslında tam olarak bu amaca hizmet etmiyor bana göre aralarındaki farkı anlatmak gerekirse.
keyup:tuş'a basma işlemi bittiğinde devreye girer yani sen a tuşuna basılı tutarak sürekli a yazabilirsin ama hala keyup event'i devreye girmez çünkü hala tuşa basma işlemi devam etmektedir ne zaman parmağı a tuşundan çektin o zaman o zaman devreye girer.
keypress:herhangi bir tuş girişi olduğunda devreye girer yani yukarıda örnek gibi a tuşuna basılı tuttun diyelim her giriş bu event'i tetikler yani a ya basılı tutarak 20 tane a girişi yapsan bile event 20 kere tetiklenir.
change: bu event ise sadece blur olduğunda devreye girer. burada örnemiğizi biraz değiştirmek gerekir sen input'a istediğin kadar giriş yap bu event tetiklenmez istersen 20 kere a yaz sonra ali veli hüseyin yaz hala bu event' dediklenmez, ne zaman input'un dışındaki bir nesneye odaklandın o zaman tetiklenir(örn: input'un dışında bir nesneye tıklamak, başka bir nesneye focus olmak).
özetle burada change kullanmak kullanıcının aklını karıştıracaktır çünkü adama giriş hatalı düzeltin diye hata verdin. adam ne kadar düzeltirse düzeltsin hata mesajı gitmeyecektir ( başka bir nesneye odaklanana kadar(focus)). o yüzden kullanıcı her girişinin hatalı olduğunu düşünecektir.
keypress ve keyup arasında o kadar büyük bir fark yok yukarıda anlattığım gibi ama daha doğru kullanım bana göre keypress'dir.
daha'da tiryaki davranmak gerekirse bu 3 event combine edilebilir.
jQuery 1.7+ için
$('#yazarol').on('keypress keyup change',function(){
$("h6#kadiuyarisi").css({display:'none'},1000)
})daha eski sürümler için
$('#yazarol').bind('keypress keyup change',function(){
$("h6#kadiuyarisi").css({display:'none'},1000)
})dipnot: bu combine işlemi 3 ayrı listener atayacağı kullanıcı bilgisayarında ram'da kendine 3 ayrı pointer ayıracaktır buda performans kaybına neden olur ama yıl 2014 ne kadar önemsenir ayrı mevzu