JS Object this.method () bricht über jQuery ab

Ich bin mir sicher, dass es eine einfache Antwort darauf gibt, aber es ist Freitagnachmittag und ich bin müde. :(

Ich bin mir nicht sicher, wie ich das erklären soll, also schreibe ich einfach einen Beispielcode ...


Hier ist ein einfaches Objekt:

var Bob =

{ Stuff : ''

, init : function()
    {
        this.Stuff = arguments[0]
    }

, doSomething : function()
    {
        console.log( this.Stuff );
    }

}

Und hier wird es benutzt:

$j = jQuery.noConflict();
$j(document).ready( init );


function init()
{
    Bob.init('hello');

    Bob.doSomething();

    $j('#MyButton').click( Bob.doSomething );
}

Alles funktioniert, bis auf die letzte Zeile. Wenn jQuery die Methode doSomething aufruft, überschreibt es "this" und verhindert, dass es funktioniert.

Ich versuche es einfach zu benutzenStuff funktioniert auch nicht.

Wie verweise ich auf die eigenen Eigenschaften eines Objekts, sodass jQuery es aufrufen und das Objekt mit dem aufrufenden jQuery-Objekt arbeiten kann?

Ich möchte in der Lage sein, Dinge wie diese zu tun:

doSomething : function()
    {
        console.log( <CurrentObject>.Stuff + $j(<CallerElement>).attr('id') );
    }

(Woher<CurrentObject> und<CallerElement> werden durch entsprechende Namen ersetzt.)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage