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

  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • Google Developers

    Google Devel

    23 AĞUSTOS 2007
  • hydejiaqi

    hydejiaqi

    12 Mart 2008