SORU
26 HAZİRAN 2013, ÇARŞAMBA


jQuery textbox change olayı'textbox kadar ateş t odağı kaybettiğinde değil mi?

Bir textbox jQuery change olayı textbox dışında ben ' i kadar ateş etmez buldum.

HTML:

<input type="text" id="textbox" />

JS:

$("#textbox").change(function() {alert("Change detected!");});

KEMAN: http://jsfiddle.net/K682b/

Benim uygulama metin her karakter değişikliği konusunda harekete olayı gerektirir. Ben bile yerine keyup... kullanarak denedim

$("#textbox").keyup(function() {alert("Keyup detected!");});

...ama keyup olayı sağ tıklatın ve yapıştır ateş olmadığı bilinen bir gerçektir.

Herhangi bir çözüm? Hem dinleyicileri herhangi bir soruna neden olacak olan?

CEVAP
26 HAZİRAN 2013, ÇARŞAMBA


Her iki olay için bağlama yapmak için tipik bir yoldur. Ayrıca yapıştır olayı bağlayabilirsiniz.

Bunun gibi birden fazla etkinlik için bağlayabilirsiniz:

$("#textbox").on('change keyup paste', function() {
    console.log('I am pretty sure the text box changed');
});

Eğer bu konuda titiz olmak istiyorsa, yanında metin sürükleme karşılamak için yoktur bağlamak, ve lastValue değişken metin gerçekten değişti mi emin olmak için ekleyiniz:

var lastValue = '';
$("#textbox").on('change keyup paste mouseup', function() {
    if ($(this).val() != lastValue) {
        lastValue = $(this).val();
        console.log('The text box really changed this time');
    }
});

Ve eğer super duper titiz olmak istiyorsanız, o zaman bir aralık sayacı, otomatik doldurma, eklentileri, vb karşılamak için kullanmanız gerekir:

var lastValue = '';
setInterval(function() {
    if ($("#textbox").val() != lastValue) {
        lastValue = $("#textbox").val();
        console.log('I am definitely sure the text box realy realy changed this time');
    }
}, 500);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • H3Ctic (old channel)

    H3Ctic (old

    23 Mart 2011
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007