Wrapping Wenn ich jQueryUi Widgets (dialog, datepicker etc) Ich frage mich immer, ob es besser wäre, die Widgets in eine Art Wrapper-Klasse zu wickeln. Hier ist eine Möglichkeit, dies zu tun, aber ich bin mir nicht sicher, ob dies eine gute Praxis ist.Ich möchte Kommentare zu einem Approch zu Widgets in jQuery
Bitte kommentieren
CODE
Kleine Plug-In für $, die 'Dialog' umschließt.
//Widget Wrapper plugin POC.
//Should be extended to support all Methods on all Widgets in jQueryUI
(function ($) {
$.fn.ww = function (uiWidgetName, options) {
if (this.length == 1) {
return new wrappers[uiWidgetName](this[0], options);
}
}
var wrappers= {};
wrappers.dialog = function (element, options) {
var theWidget = $(element);
theWidget.dialog(options);
this.open = function() {
theWidget.dialog('open');
}
this.close = function() {
theWidget.dialog('close');
}
}
} (jQuery))
Dies könnte wie dieses
var a = $("#WrapperTest").ww('dialog',{ autoOpen: false });
a.open();
Was ist der Vorteil der Wrapper-Klasse? Wie macht es den Code einfacher zu benutzen oder leichter zu verstehen? – Matt
, weil Sie das $ ("# WrapperTest") .dialog ('???') nicht jedes Mal machen müssen, wenn Sie auf etwas im dann Dialog zugreifen möchten. – PEtter
aber dann kannst du 'var $ myDialog = $ (" # your_dialog ") verwenden. Dialog();' und dann '$ myDialog' verwenden? – ifaour