SORU
11 Mart 2013, PAZARTESİ


Requirejs(belge) eklenti vs Jquery $domReady.() hazır mı?

RequireJS ve DOM hazır bir şeyler başlatmak için kullanıyorum. Şimdi, RequireJS* *29, ama biz zaten $(document).ready(), gerekli beri bana uygun olan bir WordPress kullanmak zorunda olan bir WordPress kullanmak sağlar.

İki seçenek var:

  1. domReady eklenti kullanın:

    require(['domReady'], function (domReady) {
        domReady(function () {
            // Do my stuff here...
        });
    });
    
  2. Kullanım $(document).ready():

    $(document).ready(function() {
        // Do my stuff here...
    });
    

Hangisini seçmeliyim ve neden?

Her iki seçenekleri beklendiği gibi çalışmıyor. Değilim emin olarak bir WordPress kullanmak bir çünkü RequireJS yapıyor sihrini; beri RequireJS olacak dinamik olarak ekleme komut dosyaları, endişeleniyorum o DOM hazır oluşabilir önce tüm dinamik olarak istenen komut dosyaları yüklenir. Oysa, RequireJS ben zaten bir WordPress kullanmak gerekli olduğunda domReady sadece JS için ek bir yük ekleyecektir.

Soru

  • Neden RequireJS $(document).ready(); jQuery yapabiliriz domReady bir eklenti sağlar mı? Başka bir bağımlılık da dahil olmak üzere herhangi bir avantaj görmüyorum.
  • Sadece beslemek için bir ihtiyaç varsa, neden çapraz tarayıcı AJAX için bir tane bulunur.

Bildiğim kadarıyla, domReady gerektiren bir modül getirilen veya belgeler hazır olduktan sonra idam olmayacak, ve aynı gerektiren bir WordPress kullanmak da yapabilirsin:

require(['jQuery'], function ($) {
    $(document).ready(function () {
        // Do my stuff here...
    });
});

Sorumu daha açık ifade etmek gerekirse:domReady gerektiren jQuery arasındaki fark nedir?

CEVAP
20 Mart 2013, ÇARŞAMBA


Tüm kilit noktaları çoktan vurulmuş gibi görünüyor, ama bir kaç detay çatlaklardan düştü. Esas:

domReady

Bir eklenti ve bir modül her iki. Eğer eklerseniz bu şartları içinde bu dizi w/ module kadar infaz olmaz ! sondaki "güvenli" DOM w/: etkileşim

define(['domReady!'], function () {
    console.info('The DOM is ready before I happen');
});

Yükleme ve çalıştırma farklıdır; tüm dosyalarınızı en kısa sürede, zaman duyarlı içeriğini yürütülmesi şey yüklemek istediğiniz unutmayın.

Atlarsanız !, o zaman sadece normal bir modül olur bir işlevi, bir geri arama o olmaz yürütmeden önce DOM güvenli etkileşim ile

define(['domReady'], function (domReady) {
    domReady(function () {
        console.info('The DOM is ready before I happen');
    });
    console.info('The DOM might not be ready before I happen');        
});

DomReady kullanırken bir eklenti olarak avantaj

Sırayla domReady! çok önemli bir avantaja sahip bağlı bir modül bağlı kodu: DOM için hazır olmayı beklemek gerekmez!

domReady! bağlı bir modül, B, bağlı kodu, Bir, bir blok söylüyor. Modül B DOM hazır olmadan önce yükleme tamamlanır. Sırayla, Bir B yükledi önce çalışmaz.

Eğer kullanım domReady gibi bir normal modülde B, öyle de olması gerekli Bir bağlı domReady yanı sıra kaydırma kodu içinde domReady() işlev çağrısı.

Ayrıca, bu domReady! $(document).ready() üzerinde aynı avantaja sahip olduğu anlamına gelir.

Farklılıkları Re ve(belge) arasında domReady$.() hazır

Hem DOM temelde aynı şekilde hazır olduğunda/olup olmadığını bulmuştur.

Tekrar yanlış zamanda jQuery ateş korkusu

bir WordPress kullanmak eğer bir WordPress kullanmak önce DOM yükler yoksa bile herhangi bir hazır geri ateş (kod hangisinin önce olacağına önemi olmamalı.).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009
  • RyanXLT

    RyanXLT

    22 Ocak 2011
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007