2010-11-11 20 views
9

Olayları eklenti kullanıcılarıma nasıl sunarım?Bir eklenti oluşturma, olayları görüntüleme

$('#myPluginDiv').trigger('eventName', ["foo", "bar"]); 

olayı tetiklemek için ama beyan ve eklentileri olayları çağırmak nasıl açıklayan en iyi uygulamalar için arıyorum:


ben kullanması gerektiğini biliyoruz.

cevap

0

gibi nesne litereal oluşturun. Bu konuda standartlarımız yok, sadece kod sözleşmesi.

Colorbox (kaynak: https://github.com/jackmoore/colorbox/blob/master/jquery.colorbox.js) bir önek ve olay adları için bir sabitleri tanımlar. Ayrıca, geri çağrıları tetiklemek ve çalıştırmak için bir işlevi vardır. yerine sabitler, ama olaylar sert kaynağın ortasında kodlandığını görebilirsiniz

jQuery UI (kaynak: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js) da olayları (https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js kullanımını) tetiklenmesi için Widget sınıfına ilişkin ortak bir işleve sahiptir Colorbox'taki gibi.

Ben şahsen düşünün, ve kendi eklentilerimde, sabitler yaratmak çok fazla olayın tetiklenmesi için çok daha iyi, ama sadece 2 veya 3 olayları kovacaksanız gerekli değil.

bir yardımcı işlevi olması gerekir ve şablonun parçası olmalıdır olduğunu.

Kullandığım ve gördüğüm olay adları, standart CamelCase standardını izleyin. beforeClose.

Sonuç:

Bazı Colorbox en cbox_open hatta click.myPlugin (http://api.jquery.com/on/#event-names bakınız): olduğu gibi olaylar için bir önek kullanımını savunan genelde programlama için en iyi uygulamaları ve kuralları takip ve orada daha iyi örnekler izlemek için deneyin .

-1

eklentisinde seni en çok kullanılan eklentileri bazı incelemek ve kendi varsayımlarda düşünüyorum

var plugin = { 
    show:function(){ 
// code for show() 
} 


}; 
+0

Ben teşhir ve yayınlama olaylar için en iyi uygulamaları soruyordu. Kodunuz jQuery eklenti modelini bile takip etmiyor. – jgauffin