Heim >Web-Frontend >HTML-Tutorial >Detaillierte Erläuterung der Ausführungsreihenfolge von onclick und href eines Tags in HTML

Detaillierte Erläuterung der Ausführungsreihenfolge von onclick und href eines Tags in HTML

黄舟
黄舟Original
2017-07-27 13:46:382722Durchsuche

Das onclick-Ereignis wird zuerst ausgeführt, gefolgt von dem in href (Seitensprung oder Javascript) definierten.

Wenn zwei Definitionen gleichzeitig vorhanden sind (onclick und href sind beide definiert), wenn Sie möchten Um die href-Aktion zu verhindern, muss „return false“ zu „onclick“ hinzugefügt werden. Schreiben Sie normalerweise „onclick="xxx();return false;".

Wenn die in href definierte Funktion einen Rückgabewert hat, wird der aktuelle Inhalt angezeigt Seite wird Der Rückgabewert wird anstelle von

verwendet, wenn die Seite zu lang ist und Bildlaufleisten hat und Sie Vorgänge über das Onclick-Ereignis des Links ausführen möchten. Das href-Attribut sollte auf javascript:void(0); anstelle von # gesetzt werden, um unnötige Seitensprünge zu vermeiden.

Daher ist die empfohlene Schreibmethode

<a href="javascript:void(0)" onclick="fn(this)"> 
<a href="javascript:void(0);" onclick="javascript:goUrl(&#39;http://www.sina.com&#39;);return false;">跳转3</a>
<a href="javascript:void(0)" onclick="subgo()">点我</a>

. javascript:void(0) hat keine eigentliche Funktion, es ist nur ein toter Link und die ausgeführte Funktion ist subgo().

<a href="#" onclick="subgo()">点我</a>与<a href="javascript:void(0)" onclick="subgo()">点我</a>区别。

Tatsächlich enthält #eine Standortinformation. Der Standardanker ist #top, also der obere Rand der Webseite, und javascript:void(0) stellt nur einen toten Link ohne Informationen dar. Daher ist es am besten, void(0)

zu verwenden, wenn href im Allgemeinen auf eine URL-Adresse verweist, und Sie können auch Javascript aufrufen, z. B. href="javascript:xxx();". Es wird empfohlen, im Dokument so zu schreiben: < ;a href=" javascript:void(0)" onclick="xxx();">xx5db79b134e9f6b82c0b36e0489ee08ed, aber diese Methode verursacht manchmal seltsame Probleme in komplexen Umgebungen Versuchen Sie, das Protokoll javascript: nicht als zu verwenden. Das href-Attribut von A führt nicht nur dazu, dass das Ereignis window.onbeforeunload unnötigerweise ausgelöst wird, sondern stoppt auch die Wiedergabe des GIF-animierten Bildes im IE.

Wenn Sie auf einen solchen Link klicken, passieren zwei Dinge: 1. Wenn dosomthing true zurückgibt, springt der Browser zu cool.html. Wenn es jedoch false zurückgibt, wird die href ignoriert. Wenn wir uns diese Funktion zunutze machen, können wir Code wie diesen schreiben...

<a href="cool.html" onclick = "doSomething()">做点什么吧</a>
function doSomething(){
return confirm("您确认要离开吗");
}
function doSomething(){
var ret = confirm("确认要离开吗?");
if(ret){
window.loaction.href = "cool.html";
}
}

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Ausführungsreihenfolge von onclick und href eines Tags in HTML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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