SORU
28 Mart 2010, Pazar


jQuery Eklentisi: Geri arama işlevi Ekleme

Benim eklenti geri arama işlevselliği vermek için çalışıyorum, ve bunun için biraz geleneksel bir şekilde işletmek istiyorum:

myPlugin({options}, function() {
    /* code to execute */
});

ya

myPlugin({options}, anotherFunction());

Kodu nasıl bu parametre ne yapmalıyım ben? Tam bir varlık olarak kabul edilir? Oluşan zararları kodu yeri ben biliyorum eminim, ama nasıl çalıştırmak için kod alabilir miyim? Konuyla ilgili literatürün çok bulmak için görünmüyor olabilir, yardımlarınız için şimdiden teşekkür ederim.

CEVAP
28 Mart 2010, Pazar


Sadece eklenti olarak geri yürütme:

$.fn.myPlugin = function(options, callback) {
    if (typeof callback == 'function') { // make sure the callback is a function
        callback.call(this); // brings the scope to the callback
    }
};

Ayrıca, seçenek nesne geri alabilirsin:

$.fn.myPlugin = function() {

    // extend the options from pre-defined values:
    var options = $.extend({
        callback: function() {}
    }, arguments[0] || {});

    // call the callback and apply the scope:
    options.callback.call(this);

};

Bu gibi kullanabilirsiniz:

$('.elem').myPlugin({
    callback: function() {
        // some action
    }
});

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andyabc45

    andyabc45

    1 Mayıs 2011
  • Phymec

    Phymec

    18 Temmuz 2009
  • SRC RECORDS

    SRC RECORDS

    2 EKİM 2006