Ich habe ein Modell in HTML
<a href="javascript:ShowOld(2367,146986,2)"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>
Ich habe die Antwort vom Server erhalten, als ich die Anfrage gesendet habe.
Mit diesem Modell erhielt ich als Antwort eine AJAX-Anfrage, die meinen Code an den Server sendet.
Nun, alles ist in Ordnung, aber wenn ich auf den Link klicke, möchte der Browser die Funktion als Link öffnen. Das heißt, nach dem Klicken sehe ich die Adressleiste als
javascript:ShowOld(2367,146986,2)
bedeutet Browser-Sache, die URL ist, wenn ich dies in Firebug tun möchte, das funktioniert. Jetzt möchte ich das tun. Wenn jemand auf den Link klickt, versucht der Browser, die bereits im DOM geladene Funktion aufzurufen, anstatt zu versuchen, sie im Browser zu öffnen.
javascript
html
debugging
Brett DeWoody
quelle
quelle
Antworten:
Diese Syntax sollte in Ordnung sein, aber Sie können diese Alternative ausprobieren.
oder
AKTUALISIERTE ANTWORT AUF STRING-WERTE
Wenn Sie Zeichenfolgen übergeben, verwenden Sie einfache Anführungszeichen für die Parameter Ihrer Funktion
quelle
Wenn Sie nur als "Klickereignishandler" haben, verwenden Sie
<button>
stattdessen ein. Ein Link hat eine bestimmte semantische Bedeutung.Z.B:
quelle
Versuchen Sie, Ihr Javascript unauffällig zu machen:
quelle
href
ist optional, lass es einfach weg.Ich benutze ein wenig CSS für eine Zeitspanne, damit es wie ein Link aussieht:
CSS:
HTML:
JAVASCRIPT:
quelle
Sie sollten auch das Javascript vom HTML trennen.
HTML:
Javascript:
Stellen Sie einfach sicher, dass die letzte Zeile in der ShowOld-Funktion lautet:
Dadurch wird verhindert, dass der Link im Browser geöffnet wird.
quelle
href
ist optional, lass es einfach weg.<a href="#" onclick="javascript:ShowOld(2367,146986,2)">
quelle
#
verwendenhref="javascript:void(0)
href
ist optional, lass es einfach weg.href
ist füra
Elemente optional .Es ist völlig ausreichend zu verwenden
quelle