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.)