これは単純なウィジェットのモックです:
(function ($) {
$.widget("ui.myDummyWidget", {
options: {
},
_create: function () {
},
hide: function () {
this.element.hide();
},
_setOption: function (key, value) {
$.Widget.prototype._setOption.apply(this, arguments);
},
destroy: function () {
$.Widget.prototype.destroy.call(this);
}
});
} (jQuery));
要素を非表示にするために呼び出すことができるメソッド hide を追加するだけです。ウィジェット内からなら簡単
this.hide();
ただし、一般的なシナリオは、外部からウィジェット インスタンスのメソッドを呼び出すことです (Ajax 更新、またはその他の外部イベント)。
それでは、ウィジェット インスタンスにアクセスする最良の方法は何でしょうか? 1つの方法は、ウィジェットへの参照を要素に追加することです.
_create: function () {
this.element[0].widget = this;
},
次に、外部からアクセスできます
this.dummy = $("#dummy").myDummyWidget();
this.dummy[0].widget.hide();