SORU
9 ŞUBAT 2011, ÇARŞAMBA


bir WordPress kullanmak .(' ' I') canlı izle .()tıklatın

Daha iyi .live('click', function {...}); yerine .click(function {...}); kullanmak olacağı herhangi bir durum olup olmadığını merak ediyorum?

Anladığım kadarıyla canlı seçeneği daha iyi bir seçenek gibi görünüyor ve bu yüzden düz yerine hemen hemen tüm durumlarda onu kullanıyorum .() tıklatın, özellikle de verildi.

EDİT: Bu soruya başka bir parçası. Eğer asynchoronously tüm javascript yükleme yapıyorum .tıklayın, halen dom tüm öğeleri toplama. Değil mi?

CEVAP
9 ŞUBAT 2011, ÇARŞAMBA


Açıkça zaten var olan nesneler için tıklatın işleyicisi atama ve yeni nesneleri farklı bir şekilde işlemek istediğiniz zamanlar olabilir. Ama daha yaygın olarak, canlı her zaman işe yaramıyor. Zincirleme bir WordPress kullanmak ifadeleri gibi çalışmıyor:

$(this).children().live('click',doSomething);

Düzgün şekilde olayları DOM ağaç baloncuk nedeniyle çalışmak için bir seçici lazım.

Düzenleme:Birisi bu upvoted, belli ki insanlar hala böyle bakıyorlar. live bind deprecated Her ikisi de belirtmeliyim. IMO çok daha net bir sözdizimi olan .on() ile de gerçekleştirebilirsiniz. bind değiştirmek için:

$(selector).on('click', function () {
    ...
});

ve live değiştirmek için:

$(document).on('click', selector, function () {
    ...
});

Herhangi bir jQuery nesnesi kullanabilirsiniz tüm öğeleri içeren $(document), yerine tıklamaları takip ediyorsun, ama karşılık gelen elemanı aradığınızda bulunması gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • adrianisen

    adrianisen

    25 Kasım 2009
  • tinycammonitor

    tinycammonit

    14 Aralık 2010
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007

İLGİLİ SORU / CEVAPLAR