2017-06-13 39 views
9

Dosyalarla çalışmak için bir yönerge oluşturdum. Bu bundan sonra aynı Seçili dosyayı kaldırmak ve seçmek için muktedir yapıyorumÖğe değeri değiştirilirken yaşanan olayı değiştir IE 11/Angular

element.val('');

: Ben dosyayı değiştirmek veya yeni birini seçtiğinizde Bu kodu diyoruz. Bunu yapmazsam, seçili dosyayı sildim ve aynısını tekrar seçtiğimde, change olayı çağrılmaz ve yapmam gerekeni yapamıyorum.

Girdi değerini değiştirdiğimde, değişiklik olayını çağırmak için IE'den kurtulmanın bir yolu olup olmadığını bilmem gerek.

ben biraz arandı ve bunun gibi açıklamalarda bulundu:

The onchange event on textboxes and textarea elements only fires when the element loses focus, and if its value is now other than its value when it got focus.

Yani, bu değişiklik olayı sadece programlama de değerini değiştirmek çağrılacak gerekiyordu.

Herhangi bir fikrin var mı?

DÜZENLEME:

Ben sizin dinleyici birden fazla çağrı neden element.val('') yeni change olayı yayarlar görünüyor behaviour

cevap

6

ile jsfiddle oluşturduk.

element.bind('change', function(){ 
    if(!element.val()) { 
     return; 
    } 
    element.val(''); 
    // code goes here 
}); 
+2

kullanıyorum öneririm [ 'on'] (http://api.jquery.com/on/) yerine: Yani şu gibi girdi değerini kontrol ederek bu garip davranışı önleyebilirsiniz dedi 'bind'. – Renan

+0

element.bind kullanımdan kaldırıldı, bunun yerine bu kullanımda(). – fernandoocf