Der Unterschied und die Priorität zwischen der Verwendung von href und onclick in HTML-Tags

不言
Freigeben: 2018-06-09 17:01:10
Original
2603 Leute haben es durchsucht

Dieser Artikel enthält hauptsächlich einen Artikel über die Verwendung, den Unterschied und die Priorität von href und onclick im HTML-A-Tag. Freunde, die mehr wissen möchten, können ihn lesen.

Wenn Sie dies tun Wenn das href-Attribut in IE6 nicht festgelegt ist, reagiert es nicht auf Hover. Nach einem Doppelklick wird der übergeordnete Container des Labels anstelle des Labels a ausgewählt (dieses Problem besteht unter IE).

Der Code lautet wie folgt:

<a href="javascirpt:fn(this)"> <a onclick="fn(this)">
Nach dem Login kopieren

Angenommen, wir haben eine fn-Methode, die dieses Element abrufen muss. Das von der ersten Methode übergebene this ist ein Nullwert.


Die empfohlene Schreibweise ist also

Der Code lautet wie folgt

<a href="javascript:void(0)" onclick="fn(this)">
Nach dem Login kopieren

Der folgende Code führt die aus subgo()-Funktion,

Der Code lautet wie folgt

<a href="javascript:void(0)" onclick="subgo()">点我</a>
Nach dem Login kopieren

Hier hat javascript:void(0) keine tatsächliche Funktion. Es ist nur ein toter Link und die ausgeführte Funktion ist subgo(. ).

Der Code lautet wie folgt

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

Tatsächlich #enthält er eine Standortinformation. Der Standardanker ist #top, was der obere Rand der Webseite ist, und javascript:void(0 ) stellt lediglich einen toten Link ohne jegliche Informationen dar. Daher ist es am besten, beim Aufrufen eines Skripts void(0)

href zu verwenden. Sie können auch Javascript aufrufen, z. B. href="javascript:xxx();". Es wird empfohlen, im Dokument Folgendes zu schreiben:

Der Code lautet wie folgt

<a href="http://www.jb51.net/zhongxing/U880/ javascript:void(0)" onclick="xxx();">xx</a>
Nach dem Login kopieren

Diese Methode verursacht jedoch manchmal seltsame Probleme in komplexen Umgebungen. Versuchen Sie, das Protokoll javascript: nicht als href-Attribut zu verwenden von A. Dies führt nicht nur zu unnötigem Auslösen des Fensters. Das .onbeforeunload-Ereignis stoppt die Wiedergabe animierter GIF-Bilder im IE.

Wir wissen, dass das Onclick-Ereignis des Links zuerst ausgeführt wird, gefolgt von der Aktion unter dem href-Attribut (Seitensprung oder Javascript-Pseudolink), wenn Sie die Aktion unter dem href-Attribut nicht ausführen möchten , onclick muss false zurückgeben.

Der JS-Quellcode von TabPane ist so geschrieben, dass onclick nicht FALSE zurückgibt, wenn TABPANE in IFRMAE geschlossen wird. Dies führt zu Problemen bei der Ausführung von href und der Seitenanzeige. Die Lösung besteht darin, den folgenden Code mithilfe von TAB in die JSP zu kopieren.

Priorität der gleichzeitigen Verwendung von href und onclick im HTML-A-Tag

1 Bestellung

dh 6: href löst zuerst onclick aus und löst dann

Andere Browser lösen zuerst onlick aus und löst dann href aus

2 href="javascript: xxx()"

Dies kann nicht als Parameter übergeben werden

onclick kann

Der Code lautet wie folgt

<a href="javascript:alert(&#39;href event&#39;);" onclick="clickevent(this);">
Nach dem Login kopieren

3 Wenn die Methode zuerst ausgelöst wird Gibt „false“ zurück, das letztere Ereignis wird nicht ausgelöst

Zum Beispiel lautet der

-Code wie folgt:

<a href="javascript:alert(&#39;href event&#39;);" onclick="clickevent(this); return false;">
Nach dem Login kopieren

4

ergibt sich aus den Gründen 1 und 4

beide haben

6 Zusammenfassung:

1) Wenn keine Notwendigkeit besteht, dies als Methodenparameter zu übergeben, wird empfohlen,

nur href= zu verwenden "JavaScript: "2) Wenn Sie diesen Parameter verwenden müssen, wird empfohlen, dass der

-Code wie folgt lautet:

wie das folgende Beispiel.

Wir benötigen A, um beim ersten und zweiten Klick auf die href zuzugreifen und nach dem dritten Mal auf eine andere Adresse zuzugreifen

<a href="javascript:void(0);" onclick="doSomthing(this)" > Der Code lautet wie folgt

var href=0
function clicka(obj)
{
 if (href==2)
 {
 obj.href="http://www.baidu.com?qc";
 }else
 {
 href++;
 }
 return true;
}
 <a href="http://www.jb51.net/" target=_blank id="showa" onclick="clicka(this)"> 开屏高速下载 </a>
Nach dem Login kopieren

Der Unterschied zwischen der Verwendung von Javascript im href und onclick eines Tags

Das Onclick-Ereignis des Links wird zuerst ausgeführt, gefolgt von der Aktion unter dem href-Attribut (Seitensprung oder Javascript). pseudo Link); Unter der Annahme, dass sowohl href als auch onclick im Link vorhanden sind, muss onclick einen falschen Rückgabewert erhalten, wenn die Aktion unter dem href-Attribut nicht ausgeführt werden soll. Wenn Sie es nicht glauben, können Sie die Rückgabe „false“ in der goGoogle-Funktion auskommentieren. Wenn die Seite zu lang ist und eine Bildlaufleiste hat und Sie Vorgänge über das Onclick-Ereignis von ausführen möchten Link. Sein href-Attribut sollte auf javascript:void(0); anstelle von # gesetzt werden, was unnötige Seitensprünge verhindern kann.

Wenn eine Funktion mit einem Rückgabewert im href-Attribut des Links aufgerufen wird, wird der Inhalt angezeigt Der Rückgabewert der aktuellen Seite wird durch den Rückgabewert dieser Funktion ersetzt.

ändert sich, wenn die Umschalttaste gedrückt gehalten wird.

Das Problem, auf das ich heute gestoßen bin, ist, dass ich in IE6.0 nicht auf parentNode in Form von href zugreifen kann.

Versuchen Sie, das Protokoll javascript: nicht als href-Attribut von A zu verwenden. Dies führt nicht nur dazu, dass das window.onbeforeunload-Ereignis unnötigerweise ausgelöst wird, sondern verhindert auch, dass das animierte GIF-Bild im IE abgespielt wird.

Das ist es, ich habe viel Zeit damit verbracht.

[Grund]

Wenn ich das CheckBoxList-Steuerelement verwende, möchte ich nach jedem Kontrollkästchen einen Link hinzufügen, um einige Funktionen zu erreichen, und ich muss auch das Kontrollkästchen aktivieren .

Der Code lautet wie folgt

<input type="checkbox" name="chk" id="chk">
<label for="chk">选中它<a onclick="this.parentNode.click();" href="http://luwenxiang1990.blog.163.com/blog/#" style="border:solid 1px blue;">[label中的链接]</a></label>
Nach dem Login kopieren

Er wird schließlich mit parentNode implementiert.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Erläuterung zur Verwendung des HTML-Tag-href-Attributs zur Angabe relativer und absoluter Pfade

Das obige ist der detaillierte Inhalt vonDer Unterschied und die Priorität zwischen der Verwendung von href und onclick in HTML-Tags. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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