JS Object this.method () przerywa przez jQuery

Jestem pewien, że jest na to prosta odpowiedź, ale jest piątkowe popołudnie i jestem zmęczony. :(

Nie wiem, jak to wyjaśnić, więc pójdę naprzód i podam kod przykładowy ...


Oto prosty obiekt:

var Bob =

{ Stuff : ''

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

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

}

I tutaj jest używany:

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


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

    Bob.doSomething();

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

Wszystko działa, z wyjątkiem ostatniej linii. Gdy jQuery wywołuje metodę doSomething, przesłania „to” i uniemożliwia jej działanie.

Próbuję użyć tylkoStuff też nie działa.

Jak więc odwołać się do własnych właściwości obiektu w sposób, który umożliwia wywołanie go przez jQuery, a także pozwala obiektowi pracować z wywołującym obiektem jQuery?

tj. chciałbym móc robić takie rzeczy:

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

(Gdzie<CurrentObject> i<CallerElement> są zastępowane odpowiednimi nazwami.)

questionAnswers(4)

yourAnswerToTheQuestion