Tôi đang cố gắng viết một tiện ích jQuery theo mẫu được cung cấp here. Đây là một bản chụp của các widget:Cách xử lý sự kiện trong các tiện ích UI của jQuery
(function ($) {
$.widget("ui.notification", {
_create: function() {
if (!this.element.hasClass("ntfn")) {
this.element.addClass("ntfn");
}
this.elTitle = this.element.append("<div class='ntfn-title'>Notifications</div>");
this.elTitle.click(this._titleClick)
},
_titleClick: function() {
console.log(this);
}
});
})(jQuery);
Ở đây vấn đề là với phạm vi "này" bên trong phương pháp _titleClick
, bên trong phương pháp này chỉ ra các yếu tố title
. Nhưng tôi cần nó để trỏ đến phần tử widget
.
Tôi nghĩ rằng một trong những cách để làm việc đó sẽ được sử dụng một lớp wrapper như
var that = this;
this.elTitle.click(function() {
that._titleClick.apply(that, arguments);
});
Đây có phải là cách tốt nhất để giải quyết vấn đề này hoặc có bất kỳ mô hình chung để giải quyết vấn đề này?
Cảm ơn bạn. điều này thật đúng với gì mà tôi đã tìm kiếm. – jwanga