2013-10-03 16 views
7

Bu sorunu IE8'e özgüyorum. Bu etkinlik yalnızca IE8'de çalışmıyor, ancak IE9'da ve Firefox ve Chrome gibi diğer tarayıcılarda sorunsuz çalışıyor.jquery .on ('input') tek başına ie8 ile tetiklenmiyor

$('#myId').on('input', function() { 
    //do something. 
} 

IE8'de aynı işlem için bir çalışma varsa lütfen bana bildirin.

Teşekkürler!

+4

Kendimi bir olay tetikleyicisi olarak "input" tanımadım Belki de daha önce hiç görmedim? – VoidKing

+1

'change' veya' keyup' kullanmayı deneyin. bunun yerine, "giriş" eski tarayıcılarda desteklenmez. – Joe

+0

@VoidKing ve yorumunuzu destekleyen herkes: Bunu öğrenin: [MDN oninput] (https://developer.mozilla.org/en-US/docs/Web/ API/GlobalEv entHandlers.oninput) – epascarello

cevap

8

oninput bir şey olmaz, bu IE8 çalışmıyor neden

MDN oninput Bu input olay gibi görünüyor

Feature   Chrome Firefox Internet Explorer Opera Safari 
Basic support (Yes)  2   9     10  (Yes) 
1

HTML5 özelliklerinin bir parçası olduğunu, IE9 + olduğunu IE8'in işlemesini bekler. Bunun yerine change olayını kullanmanız gerekebilir.

26

IE'nin daha eski sürümlerinde kullanabileceğiniz propertychange adlı bir etkinliğimiz var. Sen propertychange olay ve aynı zamanda input olayı kontrol edebilirsiniz:

AaronBaker cevabı
$('#myId').on("propertychange input",function(ev){ 
    doAwesomeThing(); 
}); 
+0

Bu cevap daha yüksek olmalı. İyi bir çözüm için teşekkürler – Will

+0

Benim için çalışır. Çok teşekkürler. –

+2

İşler ancak IE8'de iki kez özellik değişikliği olayını tetikler ... yerine '' anahtar girişi '' kullanılır ve işe yaradı! – Justin

4

: Etkinliğin

çifte yazı olmadan ... IE8 ve IE10 (html5) yanı sıra modern tarayıcılarda ikisi için çalışır

Çok az yorum ya da yorum kullanmış olurdum.

$('#myId').on("propertychange input",function(ev){ 
    doAwesomeThing(); 
}); 
1

$ ('seçici'). (! Window.eventListener üzerinde (iyi çözüm kesmek tür, ama prob) iki kez modern tarayıcılarda tetiklenmesini dinleyiciyi önleyecektir Bu hafif optimizasyon? 'keyup': 'input', function() {}