Einige jquery-plugin erweitern widget verwenden _create Methode, während andere mit _init-Methode, kann jemand erklären die Unterschiede zwischen den beiden?
Auch keine Anleitung, wenn es ist besser, zu verlängern widget oder direkt erweitern jquery.fn?
Den Nachteil, auf die Ausweitung widget (im Gegensatz zu $.fn) ist, dass Sie erstellen eine Abhängigkeit zu jquery-ui definiert, das widget "Klasse". Dieser Abhängigkeit könnte teuer werden für die Benutzer Ihres plugin, dass nicht auch die jquery-ui.
Soweit _create vs _init geht, ich bin mir ziemlich sicher, dass _init kam zuerst und dann in einer letzten überarbeitung, die Sie eingeführt und zugunsten _create. Ich mag mich irren über diese, aber ich glaube, dass _init noch unterstützt wird. Wenn es ist, dann sollte es keine Unterschiede zwischen den beiden.
Aus der jQuery-UI Developer Guide:
Widget hat drei Phasen:
HINWEIS: Die Methodennamen beginnen mit einem Unterstrich sein soll private per Konvention.
Also es gibt einen Unterschied zwischen
_create
und_init
. Man verwendet Sie für die Erstellung und die andere für die Initialisierung. Jedes mal, wenn Sie rufen Sie die widget-ohne Argumente oder mit Optionen, es wird indirekt nennen_init
Methode. Daher, dies kann verwendet werden, um reset (re-initialisieren) ein widget oder passen Sie die verschiedenen Optionen.Weitere details über jede phase hier.