Ich möchte einen Link wie diesen haben: Wenn es angeklickt wird, ändert es sich in Text, wenn Maus aus dem Text herauskommt, kehrt es zum Link zurück.
HTML:
%Vor%JS:
%Vor% Der Code funktioniert nur beim ersten Mal. Scheint, dass $("a").on("click",function(){})
nach replaceWith
nicht funktioniert.
Geige: Ссылка
Ich verwende jQuery 1.10.1 und testete sowohl FF als auch Chrome. Bitte helfen.
Ersetzen
%Vor%von
%Vor% Damit können Sie delegierte Ereignisse verwenden. Auf diese Weise wird Ihr Handler zukünftige Ankerelemente anwenden, die erstellt werden könnten. Dies ist die Voraussetzung dafür, dass Sie den Anker aus dem Dokument entfernen, wenn Sie replaceWith
Weitere Details zu delegierten Ereignissen hier (siehe Abschnitt "Direkte und delegierte Ereignisse")
Das jQuery "on" funktioniert, aber weil es ein Link ist, also, wenn Sie darauf klicken, wird es zu einem anderen Ort verlinkt.
Hier ist eine Geige: Ссылка
Ein anderer Grund könnte sein, dass Ihr Code $ replace.replaceWith ($ lnk) verwendet, weil $ lnk das ist. Es bedeutet also, dass es immer noch denselben Text und Link verwendet.
Hier ist der Code:
%Vor%});
Wenn das Dokument ursprünglich geladen wird, wird Ihr a
-Tag für einen Klick angesehen. Aber wenn das a
-Tag durch ein neues ersetzt wird, sieht es nicht mehr das neue Tag.
Ich würde empfehlen, ein div um Ihren Link zu setzen und jQuery für alle Linkklicks innerhalb des div zu beobachten. Wie in meinem Beispiel gezeigt.
HTML
%Vor%jQuery
%Vor%Tags und Links jquery