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

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • Makeup Lover

    Makeup Lover

    12 HAZİRAN 2011