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

  • FailArmy U

    FailArmy U

    29 AĞUSTOS 2009
  • Juan Carlos Candela Bordera

    Juan Carlos

    4 Mart 2009
  • OVERWERK

    OVERWERK

    6 Temmuz 2010