Bevor ich mit Verweisen auf Handbücher belästigt werde, erforsche ich das schon seit einiger Zeit und bekomme immer wieder Sackgassen. Nicht einmal sicher, wie man es richtig debuggt. Wenn Referenzen angegeben werden, stellen Sie bitte sicher, dass sie gut kommentiert und lehrreich sind. Dies liegt daran, dass ich ein PHP / mySQL-Entwickler bin und das Referenzmodell für das JavaScript-Objekt ein bisschen verwirrend ist (aber ich tue mein Bestes, um es zu lernen! :)).
Ich versuche, mein Wissen über jQuery mit jQuery v1.7.2 zu aktualisieren. Anscheinend wurde das Live-Ereignis als veraltet eingestuft und durch .on () ersetzt. Die jQuery-Dokumentation sagt, dass keine "Klick" - oder "Live" -Ereignisse mit Skripten mit .on () verschmelzen sollen.
Während ich versuche, mich an die Verwendung von on zu gewöhnen, versuche ich, den Hash einer gegebenen URL zu erfassen.
Die Seite ist wie folgt (Header hat jquery.min.1.7.2.js bereits geladen):
%Vor%Die erste Warnung wird ausgelöst, wenn Sie auf den Link "Ereignisse hinzufügen" klicken (der einen Hashwert hat), "Goodbye!" weiterleitet, dann wird der zweite Handler ausgelöst und "undefined" weitergeleitet. Wie würde ich auf diesen Hash zugreifen?
Mein alter Code ist wie folgt, und es funktioniert, aber auf allen Ajax-Seiten werden keine Event-Handler angehängt, weshalb ich das .on () -Ereignis verwende. Außerdem, wenn ich es diesmal ORDNUNGSGEMÄSS lernen werde;), möchte ich keine veralteten Funktionen haben ...
ALTER CODE (funktioniert)
%Vor%Es wurde auch ein behaviour.js-Skript geladen, das im Grunde den Listener behandelt. Ich habe zu dieser Zeit überhaupt kein jQuery benutzt. Es war nett und SCHNELL (winzige .js-Dateien, kein Fremdcode), vergleichsweise, aber ich habe mein Limit erreicht, weil ich in der Lage war, effektives JavaScript zu schreiben, wenn es darum ging, ausgefallene Dinge in meinem Universum zu verarbeiten. Also muss ich das jQuery-Skript bei jedem Seitenladen laden. Da es bereits geladen ist, versuche ich, seine Funktionen zu nutzen, anstatt mehr unnötige Skripte hinzuzufügen, damit meine Seite geladen werden kann. Daher möchte ich ein Ergebnis finden, das native jQuery 1.7.2-Funktionen verwendet, um dieses Ziel zu erreichen.
Ergebnisse
Es stellt sich heraus, dass jQuery 1.6+ bei der Verwendung von .attr () zum Auffinden einer Eigenschaft eines DOM-Objekts unterbrochen werden kann. Also mit .prop () war der Weg zu gehen. Korrigierter Code ist wie folgt:
%Vor%hoffe das hilft jemandem, es war definitiv ein Lebensretter für mich!
Ihr a-Element hat kein Hash-Attribut. Versuchen Sie, das href-Attribut zu erhalten und die Substr- und indexOf-Funktionen von javascript zu verwenden, um die Zeichenfolge unter #
aufzuteilen %Vor%Sie können auch
verwenden %Vor%Tags und Links jquery jquery-1.7