Warum ist es nicht gut, auf diese Weise zu schreiben? Einen Fehler in der Anweisung beheben. Für IE6 tritt der GIF-Pause-Bug nach dem Klicken nur bei „Javascript: Pseudoprotokoll ohne Semikolon“ auf."/> Warum ist es nicht gut, auf diese Weise zu schreiben? Einen Fehler in der Anweisung beheben. Für IE6 tritt der GIF-Pause-Bug nach dem Klicken nur bei „Javascript: Pseudoprotokoll ohne Semikolon“ auf.">
suchen
HeimWeb-Frontendjs-TutorialVerwenden Sie javascript:void(0) mit Vorsicht. Warum ist es nicht gut, so zu schreiben?

Beheben Sie einen Fehler in der Anweisung. Bei IE6 tritt der GIF-Pause-Bug nach dem Klicken nur bei „Javascript: Pseudoprotokoll ohne Semikolon“ auf

<a href="javascript:void(0)">

Warum ist es nicht gut, so zu schreiben?

Lassen Sie mich eine andere Perspektive bieten.

Das Hinzufügen des href-Attributs zum -Tag bedeutet Folgendes:

:linkDer Selektor kann es auswählen

Dies kann ein Tag sein Fokus erhalten (kann durch Drücken der Tabulatortaste aufgerufen werden)

Im Standard-Stylesheet des Browsers hat nur das -Tag mit dem href-Attribut die Wirkung von „cursor:pointer“ (insbesondere in niedrigeren Versionen). IE).

ist an das -Tag des onclick-Ereignisses gebunden, insbesondere wenn es sich bei seiner Funktion um eine Ajax-Anfrage handelt. Im Grunde benötigen wir dieses Tag nicht Das Standardverhalten und die tatsächliche Seite, die nicht verbunden werden kann, erhalten im Allgemeinen den Cursor und andere Stile dieses Elements in CSS. Zu diesem Zeitpunkt muss das href-Attribut hinzugefügt werden zu:

Lassen Sie auf Tastaturereignisse reagieren und den Fokus gewinnen (damit Screenreader den Inhalt dahinter lesen und die Barrierefreiheit verbessern können)

Elegante Verschlechterung. Wenn die Netzwerkverbindung schlecht ist und das CSS nicht geladen wurde, hat
immer noch die Handform und den normalen Linkstil.

Die Lösungen dafür, dem
-Tag das href-Attribut zu geben und es nicht mit der eigentlichen Seite zu verbinden, sind:

1.
2.
3.
4.
5.
6.<a href="javascript:void(0)">
7.
8.
Ihre Erfahrungen sind etwas anders.

1. Nachdem Sie auf diesen Link geklickt haben, springt die Seite zum Kopf und # wird am Ende von window.location.href hinzugefügt (wenn am Ende von window.location.href kein # steht). ), es sei denn, das Onclick-Ereignis wird im js-Standardereignis erfasst und blockiert.

2 hat eine vorläufige Semantik. Befindet sich jedoch auf der Seite ein Element mit der ID nogo, funktioniert nach dem Klicken auf den Link der

Anker-Mechanismus und die Seite wird am oberen Rand des Elements ausgerichtet. Weitere Einzelheiten finden Sie in Zhang . Siehe Test unten.

5~8 haben die gleiche Funktion, verwenden aber das JavaScript-Pseudoprotokoll. Unter IE6 pausiert IE6 nach dem Klicken auf die Optionen 6 und 8 ohne Semikolons das GIF auf der Seite und löst das Ereignis onbeforeunload aus (Einzelheiten finden Sie hier). IE6 erkennt, dass diese Seite eine Umleitung hat, und bricht diese ab. siehe hier). Wenn Sie also die Quelle eines Verwenden Sie javascript:void(0) mit Vorsicht. Warum ist es nicht gut, so zu schreiben? ersetzen, wird IE6 die neue Anfrage überhaupt nicht abschließen.

Ich bevorzuge Option 4.

Was die semantische Verwendung von LZ wie <a href="javascript:void(0)"> betrifft, gibt es hier bereits genügend detaillierte Antworten. Ich möchte hinzufügen, dass in dieser Situation weiterhin barrierefreie Anwendungen unterstützt werden können. Informationen zu den Methoden finden Sie unter „WAI-ARIA Accessible Web Application Properties“.

Update, ich habe den folgenden Test durchgeführt:

Wenn Sie in IE11 auf ###, #### und ##### klicken, springt die Seite nicht mehr zu „Gehe zu“. der Kopf

 <p>
            <a href="#">#</a>
        </p>
        <p>
            <a href="##">##</a>
        </p>
        <p>
            <a href="###">###</a>
        </p>
        <p>
            <a href="####">####</a>
        </p>
        <p>
            <a href="#####">#####</a>
        </p>
        <script type="text/javascript">
            var n = 0 ;            window.onhashchange = function(){
                alert(++n) ;
            }        </script>
Wenn Sie in Chrome auf ##, ###, #### und ##### klicken, springt die Seite nicht mehr zum Kopf.

Aber in IE11 und Chrome führt das Klicken auf alle dazu, dass die Adressleiste geändert wird und das Hashchange-Ereignis ausgelöst wird.

Was ich also zuvor gesagt habe: „### führt nicht dazu, dass sich die Adressleiste ändert“, ist falsch.

Andere Browser haben wir nicht in großem Umfang getestet. Hier eine vorläufige Vermutung: Die Bedeutung von ### besteht darin, dass es die geringste Anzahl an Zeichen hat und keinen Sprung zum Seitenanfang verursacht in allen Browsern.

Es ist nichts Falsches daran, dies zu schreiben. Es bedeutet, dass dieser Teil wie ein Link aussieht, die Maus eine Handform benötigt und auf Klicks reagieren muss, aber es gibt keine tatsächliche Aktion. Wird verwendet, um href="#" zu ersetzen. Diese Schreibweise ist nicht unbedingt HTML gemischt mit js.

Verwenden Sie void(0) mit Vorsicht

Unabhängig davon, ob Sie # oder void(0) verwenden, gibt es einen gemeinsamen Nachteil: Sie tun dies Um dieses Verhalten zu erreichen, muss js aktiviert sein. Lachen Sie nicht, obwohl die meisten Leute js laden, können wir Unfälle wie Verbindungsfehler nicht ausschließen, oder es gibt wirklich ein paar verrückte Leute, die js nicht verwenden. Darüber hinaus können JS nicht von Suchmaschinen verfolgt werden, was ein Problem ist, das berücksichtigt werden muss.

In diesem Sinne ist # noch schlimmer, da die Semantik eines einzelnen # tatsächlich implizit auf die Webseite selbst verweist, was zu Verwirrung führt, wenn Sie „in neuem Tab öffnen“ verwenden. Und dieses Problem gilt nicht für void(0).

【Verwandte Empfehlungen】

1.

Besondere Empfehlung

: Version „php Programmer Toolbox“ V0.1 herunterladen2. Lösung für die ungültige Methode von javascript:void(0) in ie6

3.

Javascript-Definition und Ausführliche Erklärung des Operators void(0)

4. Zusammenfassung der Unterschiede zwischen href=javascript:void(0) und href=#

Das obige ist der detaillierte Inhalt vonVerwenden Sie javascript:void(0) mit Vorsicht. Warum ist es nicht gut, so zu schreiben?. 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
Ist JavaScript in C geschrieben? Prüfung der BeweiseIst JavaScript in C geschrieben? Prüfung der BeweiseApr 25, 2025 am 12:15 AM

Ja, der Motorkern von JavaScript ist in C. 1) Die C -Sprache bietet eine effiziente Leistung und die zugrunde liegende Steuerung, die für die Entwicklung der JavaScript -Engine geeignet ist. 2) Die V8-Engine als Beispiel wird sein Kern in C geschrieben, wobei die Effizienz und objektorientierte Eigenschaften von C kombiniert werden.

JavaScripts Rolle: das Web interaktiv und dynamisch machenJavaScripts Rolle: das Web interaktiv und dynamisch machenApr 24, 2025 am 12:12 AM

JavaScript ist das Herzstück moderner Websites, da es die Interaktivität und Dynamik von Webseiten verbessert. 1) Es ermöglicht die Änderung von Inhalten, ohne die Seite zu aktualisieren, 2) Webseiten durch DOMAPI zu manipulieren, 3) Komplexe interaktive Effekte wie Animation und Drag & Drop, 4) die Leistung und Best Practices optimieren, um die Benutzererfahrung zu verbessern.

C und JavaScript: Die Verbindung erklärteC und JavaScript: Die Verbindung erklärteApr 23, 2025 am 12:07 AM

C und JavaScript erreichen die Interoperabilität durch WebAssembly. 1) C -Code wird in das WebAssembly -Modul zusammengestellt und in die JavaScript -Umgebung eingeführt, um die Rechenleistung zu verbessern. 2) In der Spieleentwicklung kümmert sich C über Physik -Engines und Grafikwiedergabe, und JavaScript ist für die Spiellogik und die Benutzeroberfläche verantwortlich.

Von Websites zu Apps: Die verschiedenen Anwendungen von JavaScriptVon Websites zu Apps: Die verschiedenen Anwendungen von JavaScriptApr 22, 2025 am 12:02 AM

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.

Python gegen JavaScript: Anwendungsfälle und Anwendungen verglichenPython gegen JavaScript: Anwendungsfälle und Anwendungen verglichenApr 21, 2025 am 12:01 AM

Python eignet sich besser für Datenwissenschaft und Automatisierung, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python funktioniert in Datenwissenschaft und maschinellem Lernen gut und unter Verwendung von Bibliotheken wie Numpy und Pandas für die Datenverarbeitung und -modellierung. 2. Python ist prägnant und effizient in der Automatisierung und Skripten. 3. JavaScript ist in der Front-End-Entwicklung unverzichtbar und wird verwendet, um dynamische Webseiten und einseitige Anwendungen zu erstellen. 4. JavaScript spielt eine Rolle bei der Back-End-Entwicklung durch Node.js und unterstützt die Entwicklung der Vollstapel.

Die Rolle von C/C bei JavaScript -Dolmetschern und CompilernDie Rolle von C/C bei JavaScript -Dolmetschern und CompilernApr 20, 2025 am 12:01 AM

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

JavaScript in Aktion: Beispiele und Projekte in realer WeltJavaScript in Aktion: Beispiele und Projekte in realer WeltApr 19, 2025 am 12:13 AM

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

JavaScript und das Web: Kernfunktionalität und AnwendungsfälleJavaScript und das Web: Kernfunktionalität und AnwendungsfälleApr 18, 2025 am 12:19 AM

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft