Myślę, że rozumiem różnicę między _create
i _init
w definicjach widżetów (patrz na przykład this question), ale nadal nie jestem pewien o celu celu dla rozróżnienia. Jakie zadania konfiguracyjne są wykonywane w _create()
lub w _init()
? Co jest nie tak, jeśli autor widżetu wybierze niewłaściwy?Jak zdecydować między _init a _create w widżecie JQuery UI?
Odpowiedz
Od:
- http://forum.jquery.com/topic/jquery-ui-1-8-use-of-init
- http://www.erichynds.com/jquery/tips-for-developing-jquery-ui-widgets/
- http://jqueryui.com/demos/dialog/
Zastosowanie
_create
budować i wstrzyknąć znaczników, wydarzenia powiązań itd Umieść domyślną funkcjonalność w_init()
. Widget dialogowy, na przykład , podaje parametr określający, czy okno dialogowe powinno być otwarte po zainicjowaniu widgetu: ; idealne miejsce na_init()
!
również:
Fabryka widget automatycznie wyzwalana metody
_create()
i_init()
podczas inicjalizacji, w tej kolejności. Na pierwszy rzut oka wydaje się, że wysiłek został zduplikowany, ale istnieje różnica między wzrokiem . Ponieważ fabryka widget chroni przed wieloma dawałaby na samego elementu,_create()
będzie nazywa maksymalnie jeden raz dla każdego widget instancji, natomiast_init()
będzie nazwać każdorazowo widget jest wywołana bez argumentów ...
Jeśli autor używa _init()
gdy _create()
powinny zostać zakodowane, wynik będzie, że kod w _init()
będą wykonywane raz na widget instancji.
Krótka odpowiedź tutaj: _create() będzie wykonywany po uruchomieniu plugin jquery-ui po raz pierwszy, jak $ xx.your-plugin (opcje); Funkcja _init() zostanie wykonana po raz pierwszy i po raz pierwszy, gdy Twój kod zostanie wyświetlony w $ xx.twoja-wtyczka (twoje opcje);
Ponieważ istnieje jakiś kod w jQuery ui.custom.js tak:
var instance = $.data(this, fullName);
if (instance) {
instance.option(options || {})._init();
}
Tak więc, jeśli narysować wykres z plugin jquery-ui, po to wyciągnięta, a chcesz do użyj nowych danych do aktualizacji, musisz to zrobić w _init(), aby zaktualizować swój wykres. Jeśli tylko coś wyświetlisz i nie zaktualizujesz ich całkowicie, _create() spełni twoje potrzeby.
- 1. Jak rozszerzyć widżet JQuery interfejsu użytkownika _create?
- 2. Jak zapisać właściwość wewnętrzną w widżecie jquery-ui?
- 3. Jak rozszerzyć widżet jquery ui? (1.7)
- 4. Różnica między jquery a $
- 5. Jaka jest różnica między jquery i jquery UI?
- 6. Rozszerzanie widżetu jquery ui - jak uzyskać dostęp do zdarzenia nadrzędnego
- 7. jQuery UI Sortable: Przewiń całą stronę, a także kontener
- 8. Jak widżet w innym widżecie w QT?
- 9. jQuery vs jQuery Mobile vs jQuery UI?
- 10. Sqlite lub MySql? Jak zdecydować?
- 11. Jak zlokalizować jQuery UI Datepicker?
- 12. jak zastosować motyw jQuery UI?
- 13. Jak zmienić typ czcionki w widżecie twitter.com?
- 14. Jquery ui $ ([])
- 15. Jak uruchomić zakładki jquery ui?
- 16. Jak zdecydować, co przechowywać w stanie oglądania?
- 17. Różnica między mousedown a kliknięciem jquery
- 18. Różne między ajax a dwr i jquery?
- 19. Jak wyłączyć przeciągniętą jquery-ui?
- 20. Jak wyśrodkować przyciski jquery ui?
- 21. Różnica między serializacją a serializacjąObject jquery
- 22. Jquery ui combobox (autouzupełnianie) znika
- 23. jQuery UI Dialog przyciski
- 24. jQuery UI sortowalna tolerancja
- 25. jQuery UI Tabs rozmiar
- 26. jQuery Komórka wyłączona dodanie `UI-link` do` <a />`
- 27. Zagnieżdżanie jQuery UI sortable
- 28. Samouczek modułu JQuery UI
- 29. jQuery UI - Konwertuj jQuery UI Datepicker na czas UNIX
- 30. JQuery UI Autouzupełnianie Pozycja
Cóż, raz na * zadzwoń * do widżetu :-) Tak czy inaczej, ten drugi link jest nieoceniony (w tym i innych kwestiach); nie wiem jak to przegapiłem. Dzięki wielkie! –