Bir <input type = "number" />, değeri değiştirildiğinde hangi olayları tetikler?


Yanıtlar:


76

change alanın değeri değiştiğinde tetiklenen olay olacaktır.

HTML5 etkinliğinin inputde tetikleneceğini düşünüyorum .


37
sadece oninput'yukarı' ve 'aşağı' oklara tıklandığında ateşlenir.
K 1.1

2
ancak onchange yalnızca bulanıklıkta, en azından firefox'ta ateşler. Sanırım tuşa basmayı aramamız gerekecek.
andho

onchange ve oninput her ikisi de Opera'da çalıştı, ancak yalnızca oninput Chrome'da çalışacaktı (ve yalnızca o zaman olay işleyiciden false döndürdüğümde - aksi takdirde Chrome oninput olayını tekrar tekrar başlatacaktı)
Ian Oxley

2
changedeğer girildiğinde ateşlenmez, yalnızca düğmeler tıklandığında (en azından Firefox'ta).
Timmmm

5
inputarasında bir füzyon gibikeyup change
Thanh Trung

37

JQuery için aşağıdaki kodun klavye girişi, fare tekerleği değişiklikleri ve Chrome'daki düğme tıklamaları kapsadığını ve ayrıca Firefox'ta klavye girişini işlediğini buldum

$("input[type=number]").bind('keyup input', function(){
    // handle event
});

2
Buna da 'değişim' ekleyin ve mükemmel. Yine de harici değişiklikleri dinlemek isteyeceksiniz ve yine de eklemenin bir zararı yok.
Matt Fletcher

Ayrıca, giriş alanındaki kaydırma olaylarını görmek istiyorsanız 'fare tekerleği'.
Matt Fletcher

4
Not .bind()şimdi lehine kullanımdan kaldırıldı.on()
Michael Hays

7

Bunu buldum onkeyupve onchangeChrome 19'daki her şeyi ele aldım. Bu, doğrudan değer girişi, yukarı aşağı ok tuşlarına basma, düğmeleri tıklama ve fare tekerleğini kaydırmayı işler.

onchangeChrome'da tek başına yeterli olacaktır, ancak alanı yalnızca bir metin kutusu olarak işleyen diğer tarayıcılar onkeyup, yeni değeri okumak için mükemmel çalışan bağlamaya ihtiyaç duyar .

Bağlama mousewheelolayı ayrı az başarılı olmuştur. Etkinlik çok erken tetiklendi - alan değeri güncellenmeden önce - ve bu nedenle her zaman alanın önceki değerini verdi


Bu, Firefox için de geçerlidir.
barfuin

5

onchangeBulanıklık üzerinde olayı harekete ancak oninputolay yangınlar Yazarken. Belki de oninputetkinliğe bir zamanlayıcı koymak onchangeve kullanıcı bir saniyeliğine yazmayı bıraktığında etkinliğinizi tetiklemek isteyebilirsiniz ?


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.