SORU
25 EKİM 2012, PERŞEMBE


Ne zaman bir WordPress kullanmak'in belge gerekir.hazır fonksiyonu?

Belge kullanmak söylendi.ben ilk Javascript/jQuery kullanmaya başladı ama hiç neden öğrendiği zaman hazır.

Birisi mantıklı javascript/jquery kodu sarmak için yaptığında Bazı Temel Kurallar sağlamak içinde bir WordPress kullanmak document.ready bir şey olabilir mi?

Bazı konuları merak ediyorum:

  1. .on() jQuery yöntemi: AJAX biraz .on() yöntem (genellikle, dinamik olarak oluşturulan DOM elemanları) kullanıyorum. .on() ' I işleyicileriher zamanolabiliriçindedocument.ready?
  2. Performans: daha fazla ölçülebilir javascript/jQuery çeşitli nesneleri tutmak içiniçindeyadışarıdabelge.hazır (ayrıca, performans farkı önemli mi?)?
  3. Nesne kapsam: AJAX yüklü sayfaları nesneleri erişebilirsiniziçindeönceki sayfa belge.hazır, değil mi? Tek olan nesneleri erişebilirdışarıdabelge.("" nesneleri) küresel? yani, gerçekten hazır

Güncelleme:En iyi yöntem takip etmek, tüm javascript (jQuery Kütüphanesi ve benim uygulama kodu)altbenim HTML sayfası ve bu sayfalarda jQuery kütüphanesine erişimi böylece AJAX yüklü sayfaları benim jQuery içeren komut dosyaları defer öznitelik kullanıyorum.

CEVAP
25 EKİM 2012, PERŞEMBE


Basit bir deyişle,

$(document).ready document zaman yangınlar olan bir olay. hazır.

Sanırım sende serilmiş jQuery kod head Bölüm ve çalışan erişim dom eleman (çapa, ımg, vb.), gideremez ve çözemez erişim çünkü html yorumlanır yukarıdan aşağıya ve html öğeleri değil, şimdiki zaman jQuery kod çalışır.

Bu sorunun üstesinden gelmek için, dom tüm öğeleri erişilebilir zaman çağrılan $(document).ready işlev içinde her jQuery/javascript kodu yerleştiriyoruz DOM kullanır).

Ve bu alt (dom elemanları, </body> öncesi ve sonrası) jQuery kodunu yerleştirdiğinizde bir nedendir$(document).ready için gerek yok

Yukarıda açıkladığım aynı nedenle document on yöntemi kullandığınızda $(document).ready içinde on yöntem yere gerek yok.

    //No need to put inside $(document).ready
    $(document).on('click','a',function () {
    })

    // Need to put inside $(document).ready if placed inside <head></head>
    $('.container').on('click','a',function () {
    });

EDİT

Yorum

  1. $(document).ready görüntüler ya da komut beklemez. $(document).ready $(document).load arasındaki en büyük fark bu

  2. DOM erişen sadece kod hazır işleyicisi olmalıdır. Eğer bir eklenti, hazır olay olmamalı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CrazyMan

    CrazyMan

    14 Mayıs 2008
  • JTechTalk

    JTechTalk

    11 Temmuz 2010
  • karneson

    karneson

    23 Temmuz 2006