Der Wert eines onclick
-Attributs ist Code, kein URI, also ist dies korrekt (obwohl nicht der einzige Weg, wie Sie es tun könnten, siehe Tangente # 1 unten):
Das ist inkorrekt , aber weitgehend harmlos:
%Vor% Manchmal denken Leute, dass letzteres das Protokoll javascript
verwendet, wie bei Links, aber das ist es nicht. Es macht etwas ganz anderes. Die Sprache des Codes im onclick
-Attribut wird auf Seitenebene definiert (und standardmäßig auf JavaScript), und was Sie tatsächlich tun, besteht darin, in Ihrem JavaScript-Code ein Label zu deklarieren und dann aufzurufen %Code%. JavaScript hat Beschriftungen (siehe Tangente 2 unten), obwohl sie nicht oft verwendet werden.
Das Attribut MyMethod
unterscheidet sich vollständig vom Attribut onclick
für Links:
Da wir Code dort eingeben, wo ein URI erwartet wird, müssen wir einen URI mit dem href
-Protokoll angeben, damit der Browser weiß, was wir tun. javascript
ist ein Protokoll (wie javascript
oder http
), das Brendan Eich (Schöpfer von JavaScript) schlau genug war, sehr, sehr früh zu definieren und zu registrieren (und zu implementieren), so dass es gut unterstützt wird.
Schlussendlich: Am besten machen Sie mailto
in Kleinbuchstaben, nicht in Groß- und Kleinbuchstaben, obwohl es nur wirklich wichtig ist, wenn Sie XHTML verwenden.
Tangente # 1
Vielleicht ein wenig off-topic, aber: Die Verwendung der HTML-Attribute zum Verbinden von Handlern ist perfekt und funktioniert gut über den Browser hinweg, aber es vermischt Ihre JavaScript-Ereignisverbindung mit Ihrem HTML-Code. Manche Leute sehen das als eine gute Sache, andere gehören der "unaufdringlichen JavaScript" -Seite an und denken, dass du später alles zusammenbringen solltest. Was Sie tun, liegt an Ihnen. Der unauffällige Ansatz ist besonders nützlich, wenn Ihre HTML-Designer und Ihre JavaScript-Programmierer nicht die gleichen Personen sind (wie es häufig bei großen Teams der Fall ist).
Die unaufdringliche Herangehensweise besagt grundsätzlich: Verwenden Sie nicht die HTML-Attribute dafür, sondern später aus dem Skript. Also statt
%Vor%Sie könnten diesen HTML haben:
%Vor%kombiniert mit diesem JavaScript:
%Vor% ... wobei onclick
den Kontext verwendet, um herauszufinden, auf welche Registerkarte geklickt wurde, und entsprechend zu verfahren, und setTab
wird aufgerufen, sobald das DOM bereit ist. Beachten Sie, dass wir beim Einrichten des Click-Handlers der hookUpTabs
auf der Registerkarte div. Eine Funktionsreferenz und keine Zeichenfolge zuweisen.
Ich würde% %_co_de% nicht verwenden, würde ich DOM2-Handler über die Funktionen onclick
(Standard) / onclick
(Microsoft) verwenden. Aber ich wollte nicht in Standard-gegen-Microsoft-Sachen einsteigen. Und Sie können auch nicht, wenn Sie anfangen, unauffälliges JavaScript zu verwenden, eine Bibliothek verwenden, um das Zeug für Sie zu handhaben ( jQuery , Prototyp , Schließung , was auch immer ).
Tangente # 2
Eine weitere milde Off-Topic-Tangente: Also, was sind diese JavaScript-Etiketten dann? Details in der Spezifikation wie immer, aber hier ist ein Beispiel für die Verwendung von Labels mit einer gerichteten addEventListener
-Anweisung in einer Schleife:
Hier ist eine unaufdringliche Alternative. Inline-JavaScript-Code macht es schwer, Ihrem HTML-Code zu folgen. Das Trennen von JavaScript (Logik) von Ihrem HTML (Präsentation) ist der richtige Weg. In jQuery wäre es etwa so:
%Vor% Legen Sie das in Ihren Kopf oder eine externe Skriptdatei. Vorzugsweise wo Ihr MyMethod
definiert ist. Jetzt ist Ihr Element sauber und alle Methodenaufrufe befinden sich an derselben Stelle, anstatt über den HTML-Code verteilt zu sein.
Tags und Links javascript methods