Đây là một widget giả đơn giản:Tiếp cận dụ widget từ bên ngoài phụ tùng
(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));
Nó chỉ thêm một ẩn phương pháp mà bạn có thể gọi để ẩn phần tử. Dễ dàng nếu được thực hiện từ bên trong phụ tùng
this.hide();
Tuy nhiên, một kịch bản phổ biến là bạn muốn gọi các phương thức trên một trường hợp phụ tùng từ bên ngoài (Cập nhật Ajax, hoặc các sự kiện bên ngoài khác)
Vì vậy, cách tốt nhất là gì truy cập phiên bản widget? Một cách là thêm tài liệu tham khảo để các phụ tùng cho các phần tử, xấu xí ...
_create: function() {
this.element[0].widget = this;
},
Sau đó, bạn có thể truy cập nó từ bên ngoài làm
this.dummy = $("#dummy").myDummyWidget();
this.dummy[0].widget.hide();
Cảm ơn! dữ liệu không phải là một tên rất tốt: D Nhưng nó hoạt động, thats phần quan trọng: P – Anders
btw, nếu bạn thích tôi không thích chuỗi hoặc sử dụng Resharper và VS2010 bạn có thể làm .data(). myDummyWidget; và được hưởng lợi từ sự cảnh giác và biên dịch. – Anders
Đây là tài liệu tham khảo chính thức: https://api.jqueryui.com/jquery.widget/ (phần "Sơ thẩm") – noitseuq