Heim  >  Artikel  >  Web-Frontend  >  Kann das href-Attribut des a-Tags in der HTML-Seite weggelassen werden?

Kann das href-Attribut des a-Tags in der HTML-Seite weggelassen werden?

黄舟
黄舟Original
2017-07-27 13:38:084184Durchsuche

Ich verwende eine Gruppe von a-Tags für den Tab-Wechsel. Wenn ich href="#" zum a-Tag hinzufüge, springe ich beim Klicken auf das a-Tag immer nach oben dass die Klickreaktionsgeschwindigkeit manchmal langsamer ist und manchmal einfriert. Ich möchte Sie fragen, welche Auswirkungen es hat, wenn href nicht mit der Semantik vereinbar ist oder so?

Tatsächlich können Sie bei href="#" das standardmäßige Link-Jump-Verhalten durch die Methode PreventDefault() verhindern
Wenn Sie jQuery verwenden, können Sie

$("#myLink").click(function () {    // Your event handlers here
    return false;
});

A Hat kein href und keinen tabindex, wird nicht mit Tabs in HTML 4 umgewandelt. Es betrachtet einen ohne href (aber mit Namen) als benannten Anker. HTML 5 betrachtet einen ohne href als Link-Platzhalter (das Verhalten ist für Browser ohnehin das gleiche).

javascript:void(0) steckt wirklich fest. Wenn Sie so verwirrt sind über href, warum müssen Sie das a-Tag verwenden?

Natürlich können Sie das nicht Fügen Sie es hinzu, sonst wird es kein Hyperlink sein, einige einzigartige Eigenschaften von Hyperlinks gehen beispielsweise verloren, wenn Sie es nicht möchten Zum Springen lautet die Methode wie folgt:

1.href="javascript:viod(0)"; oder href="javascript:;"

2. Legen Sie das Klickereignis fest, z. B.

3. Die Quintessenz ist: Warum springt es nach dem Klicken? Da dies das Standardverhalten des Tags ist, kann es durch Blockieren seines Standardverhaltens erreicht werden Wenn ein Tag das href-Attribut nicht hinzufügt, können beim Entwerfen einer Website viele Probleme auftreten. In einigen Fällen wird ein Tag für andere Zwecke verwendet, z. B. für Schaltflächen Ich verwende es gerne.
a.onclick = function(){    return false;
}

Sie müssen es nicht hinzufügen, aber einige Browser-Mausstile haben keine Gesten und es scheint, dass sie unter IE6 immer noch nicht funktionieren um href="javascript:void(0);" hinzuzufügen

a.onclick = function(e){
    e.preventDefault ? e.preventDefault() : e.returnValue = false;
}
Sie müssen es nicht hinzufügen, aber wenn Sie href nicht hinzufügen, können Sie nicht zur Seite springen Es wird keine geben. Wenn die Geste

a nicht beschriftet ist, ähnelt sie span... und kann dann nicht nach oben springen. Wenn Sie verhindern möchten, dass sie nach oben springt , Sie können die JavaScript-Ereignisbereitstellung, z. B. click, im a-Attribut verwenden. Dann schreiben Sie die Funktion a(event){ event.preventDefault( }). im Skript.

Klicken Sie auf das Tag a, um zu verhindern, dass Sie nach oben springen, oder fügen Sie javascript:void(0) hinzu, um zu verhindern, dass Sie das Gefühl haben, festzustecken. Sie können href="###" schreiben

.

Das obige ist der detaillierte Inhalt vonKann das href-Attribut des a-Tags in der HTML-Seite weggelassen werden?. 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