Comment gérer les événements en jQuery UI widgets

Je suis en train d'écrire un widget jQuery suivant le modèle donné ici.
Voici un aperçu du widget:

(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);

Ici, le problème est à la portée de "ce" à l'intérieur de la _titleClick méthode, à l'intérieur de la méthode par points à la title élément. Mais j'en ai besoin pour pointer vers le widget élément.

Je pense qu'une façon de le faire est d'utiliser une classe wrapper comme

var that = this;
this.elTitle.click(function() {
    that._titleClick.apply(that, arguments);
});

Est-ce la meilleure façon de résoudre ce problème ou est-il un modèle général pour résoudre ce problème?

InformationsquelleAutor Arun P Johny | 2010-10-26