Ben mücadele çünkü, bir "geç" cevabını eklemek istediğiniz change
, keyup
ve search
bugün, belki ne de başkaları için faydalı olabilir sonunda buldum. Temel olarak, bir tür olarak arama panelim var ve sadece küçük X'in baskısına doğru tepki vermek istedim (Chrome ve Opera'da FF bunu uygulamıyor) ve sonuç olarak bir içerik bölmesini temizleyin.
Bu koda sahiptim:
$(some-input).keyup(function() {
}
$(some-input).change(function() {
}
$(some-input).on("search", function() {
}
(Her birinin ne zaman ve hangi koşullarda arandığını kontrol etmek istediğim için ayrıdırlar).
Chrome ve Firefox'un farklı tepki verdiği ortaya çıktı. Özellikle, Firefox change
"girdideki her değişiklik" olarak davranırken, Chrome bunu "odak kaybolduğunda VE içerik değiştiğinde" olarak değerlendirir. Bu nedenle, Chrome'da "güncelleme paneli" işlevi bir kez, FF'de her tuş vuruşu için iki kez (biri giriş keyup
, biri giriş change
) çağrıldı
Ek olarak, alanı küçük X ile temizlemek (FF altında bulunmayan) search
olayı Chrome altında tetikledi: hayır keyup
, hayır change
.
Sonuç? input
Bunun yerine kullanın :
$(some-input).on("input", function() {
}
Test ettiğim tüm tarayıcılarda aynı davranışla çalışıyor, giriş içeriğindeki her değişikliğe tepki veriyor (fare ile kopyala-yapıştır, otomatik tamamlama ve "X" dahil).
onchange
etkinliği yok mu?