Heim > Web-Frontend > js-Tutorial > Hauptteil

Was bedeutet javascript:void(0) und der Unterschied zwischen den Fähigkeiten href=# und href=javascriptvoid(0)_javascript?

WBOY
Freigeben: 2016-05-16 15:32:25
Original
1644 Leute haben es durchsucht

void ist ein Operator in Javascript, der angibt, dass ein Ausdruck ausgewertet werden soll, aber keinen Wert zurückgibt.

Das Verwendungsformat des Void-Operators lautet wie folgt:

1. javascript:void (Ausdruck)

2. javascript:void expression

Ausdruck ist ein auszuwertender Javascript-Standardausdruck. Die Klammern außerhalb des Ausdrucks sind optional, es empfiehlt sich jedoch, sie zu schreiben.

Sie können einen Hyperlink mit dem Void-Operator angeben. Der Ausdruck wird ausgewertet, es wird jedoch nichts in das aktuelle Dokument geladen.

Beispiel – Durch Klicken auf einen Hyperlink wird nicht gesprungen

1:

2:

3:

4:

Nachdem Sie auf den Link geklickt haben, scrollt die Seite nach oben. # Der Standardankerpunkt ist #TOP (bei tatsächlichen Tests wurde festgestellt, dass die Bildlaufleiste nur nach oben scrollt). ein toter Link. Sie alle stellen einen toten Link dar. Er springt und kehrt nicht nach oben zurück.

Beispiel – Warum springt location.href nicht automatisch?

<a href="javascript:void(0)" onclick="delete('123')">删除</a>
function delete(id){
 if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
  location.href="/delete.jsp&#63;id=" + id;
 }
}
Nach dem Login kopieren

Egal wie Sie den obigen Code überprüfen, es gibt kein Problem, und location.href="/delete.jsp?id=" id; funktioniert an anderen Stellen gut.

Der Grund dafür ist, dass void(0) den Code geändert hat in:

<a href="javascript:delete('123')">删除</a>function delete(id) {
 if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
  location.href="/delete.jsp&#63;id=" + id;
 }
}
Nach dem Login kopieren

Wir haben festgestellt, dass die Seite sofort gesprungen ist und die entsprechenden Daten normal gelöscht werden konnten.

Da void ein Operator ist, wird ein Ausdruck berechnet, aber kein Wert zurückgegeben. Natürlich wird der Inhalt der aktuellen Seite nicht geändert und es wird nicht normal gesprungen.

Beschreibung

Der

void-Operator wertet einen Ausdruck aus und gibt undefiniert zurück. Dieser Operator ist am nützlichsten, wenn Sie einen Ausdruck auswerten möchten, das Ergebnis aber nicht für den Rest des Skripts sichtbar sein soll.

Die direkte Verwendung von javascript:void(0) für Links (href) kann im IE zu einigen Problemen führen, z. B. dazu, dass die GIF-Animation nicht mehr abgespielt wird usw. Daher ist die sicherste Methode die Verwendung von „#“. Um zu verhindern, dass nach dem Klicken auf den Link zum Anfang der Seite gesprungen wird, kann das onclick-Ereignis „false“ zurückgeben.

PS: Der Unterschied zwischen href=# und href=javascriptvoid(0)

#" enthält eine Standortinformation
Der Standardankerpunkt ist #top, also der obere Rand der Webseite
Und javascript:void(0) stellt lediglich einen toten Link dar
Aus diesem Grund ist die Seite manchmal sehr lang und der Browsing-Link lautet eindeutig #, springt aber zum Seitenanfang
Und javascript:void(0)
Dies ist nicht der Fall, daher ist es am besten, beim Aufruf des Skripts void(0)
zu verwenden. Oder


Mehrere Möglichkeiten, Links in neuen Fenstern zu öffnen

1.window.open('url')


2. Benutzerdefinierte Funktionen verwenden


<script>   
function openWin(tag,obj)   
{    
obj.target="_blank";    
obj.href = "Web/Substation/Substation.aspx&#63;stationno="+tag;    
obj.click();   
}   
</script> 
<a href="javascript:void(0)" onclick="openWin(3,this)">LINK_TEST</a> 
window.location.href="" 
Nach dem Login kopieren
--------------------------------- --- --------------------------------

Wenn es ein # ist, springt es nach oben. Mehrere Lösungen aus persönlichen Favoriten:

1: 2: 3: 4: 5: (Es scheint, dass es nicht in FF angezeigt werden kann)



--------------------------------- --- --------------------------------

Der obige Inhalt stellt Ihnen vor, was javascript:void(0) bedeutet und welchen Unterschied zwischen href=# und href=javascriptvoid(0) besteht.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!