SORU
30 Mayıs 2010, Pazar


Ne diyor (($) fonksiyonu {})(jQuery);?

Sadece jQuery eklentileri yazma ile başlayan duyuyorum. Sadece ne anlama geldiğini bilmeden tüm eklentileri satır kopyalama yapıyorum ama üç küçük eklentileri yazdım. Birisi bana biraz daha bu konuda söyleyecek? Belki de bir açıklama çerçevesi yazarken bir gün faydalı olur :)

Bu ne işe yarıyor? (JQuery bir şekilde uzanır ama başka bir şey var bunu biliyor) için ilginç olduğunu biliyorum

(function($) {

})(jQuery);

Bir eklenti yazma şu iki yol arasında ne fark vardır:

Tip 1:

(function($) {
    $.fn.jPluginName = {

        },

        $.fn.jPluginName.defaults = {

        }
})(jQuery);

Tip 2:

(function($) {
    $.jPluginName = {

        }
})(jQuery);

3. tip:

(function($){

    //Attach this new method to jQuery
    $.fn.extend({ 

        var defaults = {  
        }  

        var options =  $.extend(defaults, options);  

        //This is where you write your plugin's name
        pluginname: function() {

            //Iterate over the current set of matched elements
            return this.each(function() {

                //code to be inserted here

            });
        }
    }); 
})(jQuery);

Burada yol olabilirim ve her zaman aynı şeyi ifade belki de. Kafam karıştı. Bazı durumlarda,buyazı Tipi 1 kullanıyordum. bir eklenti olarak çalışıyor gibi görünmüyor Şimdiye kadar, Tip 3 bana en zarif görünüyor ama diğerleri hakkında bilmek istiyorum.

CEVAP
30 Mayıs 2010, Pazar


Öncelikle, (function(){})() gibi bir kod bloğu sadece yerde yürütülen bir işlevdir. Hadi biraz ayır.

1. (
2.    function(){}
3. )
4. ()

Hat 2, düz bir işlevi, sarılı parantez söyle çalışma zamanı için dönüş fonksiyonu için üst kapsam, sonra onu iade işlevidir idam kullanarak 4 hat, belki okuyarak aşağıdaki adımları yardımcı olacaktır

1. function(){ .. }
2. (1)
3. 2()

1 bildirimi olduğunu görebilirsiniz, 2 işlevi dönüyor ve 3 sadece işlevi yürütülüyor.

Kullanılabilecek bir örnek.

(function(doc){

   doc.location = '/';

})(document);//This is passed into the function above

Gibi eklentileri ile ilgili diğer sorular:

Tip 1: eklentileri işlevleri olma eğilimi gibi Bu aslında bir eklenti değil, bir nesne bir işlev olarak geçti.

Tip 2: Bu $.fn nesne uzanmaz yine bir eklenti değil. Sonuç aynı olsa da sadece bir WordPress kullanmak çekirdek bir extenstion. Bu toArray gibi geçme işlevler eklemek isterseniz.

Bu bir eklenti eklemek için en iyi yöntem, DV genişletilmiş bir prototip nesnesi eklenti adı ve işlevi alıkoymak için ve sizin için bir eklenti kitaplığına ekler. tip 3:

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dive In

    Dive In

    17 Temmuz 2013
  • stewmurray47

    stewmurray47

    1 Kasım 2006
  • vgeller1

    vgeller1

    22 Kasım 2009