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

  • hydejiaqi

    hydejiaqi

    12 Mart 2008
  • Jesse Pimenta

    Jesse Piment

    5 EKİM 2011
  • Truc Minh

    Truc Minh

    23 Ocak 2011

İLGİLİ SORU / CEVAPLAR