Javascript-Objektnotation Pproblem
-
21-12-2019 - |
Frage
Ich habe diese Geige http://jsbin.com/EvIYomiF/4/ und nur um zu bemerken, dass es wichtig ist, dass sich das Javascript in zwei Dateien befindet.
Gut..wie Sie in der Demo sehen können, wird der DOM-Bereich irgendwie überschrieben und ich möchte verstehen, warum.Ich meine, das self = dieser Hack ist sicher eine schlechte Übung, aber ich verstehe nicht, warum er überschrieben wird
Ich finde keine Worte, um das Problem zu beschreiben, das tut mir leid, aber die Geige ist der einzige Weg, den ich gefunden habe, um mein Problem einfach zu erklären.
Lösung
Die ganze Vermutung über this
ist irrelevant und jeder hat dich auf die falsche Spur geführt.
Das Problem ist, dass self
wurde nicht mit isoliert var
es ist also global.Zweiten self
überschreibt den ersten.
Einfach machen var self=this
lässt alles funktionieren.Was Sie getan haben, ist gängige Praxis, um die Änderung des Kontexts von zu vermeiden this
innerhalb des jQuery-Ereignishandlers