JavaScript Prototyp dieses 'Problem'

8

Dies ist eine Folgefrage aus meiner letzten Frage.

Problem mit dem einfachen JavaScript-Prototyp

Ich bin ein bisschen neu mit JavaScript prototype , tut mir leid für den zweiten Beitrag.

Ich möchte das angeklickte Element id dem Array this.name zuweisen.

%Vor%

Irgendwelche Tipps für die Aufgabe?

    
FlyingCat 21.12.2012, 20:27
quelle

2 Antworten

15

Ihr Prototyp ist in Ordnung, das Problem ist, dass this auf Event-Handlern immer das Element ist, das das Ereignis ausgelöst hat. In JavaScript hängt der Wert von this in einer Funktion davon ab, wie die Funktion aufgerufen wird .

Wenn this an einen bestimmten Wert gebunden werden soll, können Sie eine gebundene Funktion mit Function.prototype.bind :

%Vor%

Beachten Sie jedoch, dass bind nur IE9 + ist. Ein Workaround wäre:

%Vor%

(Stil Hinweis: Ich würde link anstelle von Link verwenden; die Konvention in js besteht darin, Initialen in Großbuchstaben an Konstruktoren zu übergeben).

    
bfavaretto 21.12.2012, 20:32
quelle
1

Verwenden Sie bind , um die gewünschte this festzulegen. für den changeName -Rückruf:

%Vor%     
JohnnyHK 21.12.2012 20:34
quelle

Tags und Links