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

  • AyfionGaming

    AyfionGaming

    20 ŞUBAT 2013
  • cyriak

    cyriak

    29 Mart 2006
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006