Ich versuche, ein jQuery-Widget nach dem angegebenen Modell here zu schreiben. Hier ist eine Momentaufnahme des widget:So behandeln Sie Ereignisse in jQuery UI-Widgets
(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);
Hier ist das Problem mit dem Umfang ist der „this“ in der _titleClick
Methode innerhalb der Methode Dies weist auf das title
Element. Aber ich muss es auf das Element widget
zeigen.
denke ich, eine Art und Weise, wie es sein zu tun, wird
var that = this;
this.elTitle.click(function() {
that._titleClick.apply(that, arguments);
});
eine Wrapper-Klasse zu verwenden, ist dies der beste Weg, um dieses Problem zu lösen, oder gibt es ein allgemeines Muster dieses Problem zu lösen?
Vielen Dank. Genau das habe ich gesucht. – jwanga