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

  • BuzzFeedVideo

    BuzzFeedVide

    10 AĞUSTOS 2011
  • PaysNatalAu's channel

    PaysNatalAu'

    11 Aralık 2010
  • theKGB65

    theKGB65

    24 Aralık 2007