Objeto JS this.method () se rompe a través de jQuery

Estoy seguro de que hay una respuesta simple a esto, pero es viernes por la tarde y estoy cansado. :(

No estoy seguro de cómo explicarlo, así que seguiré adelante y publicaré el código de ejemplo ...


Aquí hay un objeto simple:

var Bob =

{ Stuff : ''

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

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

}

Y aquí se está utilizando:

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


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

    Bob.doSomething();

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

Todo funciona, excepto la última línea. Cuando jQuery llama al método doSomething, está anulando 'this' y evitando que funcione.

Tratando de usar soloStuff tampoco funciona

Entonces, ¿cómo me refiero a las propiedades propias de un objeto de una manera que permita que jQuery lo llame, y también permita que el objeto funcione con el objeto jQuery que llama?

es decir, me gustaría poder hacer cosas como esta:

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

(Dónde<CurrentObject> y<CallerElement> son reemplazados con nombres apropiados.)

Respuestas a la pregunta(4)

Su respuesta a la pregunta