2010-11-11 13 views
9

Jak mogę ujawnić zdarzenia moim użytkownikom wtyczek?Utwórz wtyczkę, ujawnij zdarzenia


wiem, że powinienem użyć:

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

wyzwolić zdarzenie ale szukam najlepszych praktyk opisujących jak deklarować i wywoływać zdarzenia w wtyczek.

Odpowiedz

0

myślę, że można zbadać niektóre z najczęściej używanych wtyczek i tworzyć własne założenia. Nie mamy żadnych standardów w tym zakresie, wystarczy konwencja kodowa.

Colorbox (źródło: https://github.com/jackmoore/colorbox/blob/master/jquery.colorbox.js) definiuje prefiks i kilka stałych dla nazw zdarzeń. Ma także funkcję wyzwalania i uruchamiania wywołań zwrotnych.

jQuery UI (źródło: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js) również mają wspólną funkcję klasy widgetu dla zdarzeń wyzwalających (użycie: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js), ale można zauważyć, że zdarzenia są zakodowane na środku źródła zamiast stałych górę jak na Colorbox.

Osobiście uważam, i robię to we własnych wtyczkach, że tworzenie stałych jest o wiele lepsze, jeśli masz dużo zdarzeń do uruchomienia, ale nie jest to konieczne, jeśli wystrzelisz tylko 2 lub 3 zdarzenia.

Funkcja pomocnika jest niezbędna i powinna stanowić część szablonu.

Nazwy zdarzeń, których używam i które widzę są zgodne ze standardem CamelCase np. beforeClose.

Niektórzy zalecają stosowanie przedrostka dla zdarzeń jak na cbox_open lub nawet click.myPlugin (patrz: http://api.jquery.com/on/#event-names) ColorBox za

Wniosek: staraj się podążać najlepszych praktyk i konwencje dotyczące programowania w ogóle i obserwować lepszych przykładów tam .

-1

w plugin utworzyć obiektu litereal jak

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


}; 
+0

Pytałem o najlepsze praktyki w zakresie ujawniania i publikowania wydarzeń. Twój kod nie uwzględnia nawet wzorca wtyczki jQuery. – jgauffin