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

  • EEVblog2

    EEVblog2

    2 HAZİRAN 2014
  • HowtoDrawAndPaint

    HowtoDrawAnd

    24 EKİM 2010
  • MisterBrightside

    MisterBright

    24 Mart 2006