Inline-JavaScript-onclick-Funktion
Gibt es eine Möglichkeit zu schreiben folgenden code inline-wie so?
<a href="#" onClick="function(){
//do something;
return false;
};return false;"></a>
Statt dies zu tun:
<a href="#" onClick="doSomething(); return false;"></a>
function doSomething(){
//do something;
}
- Warum würden Sie wollen?
- Warum? Inline-code ist schrecklich und nicht wartbar oder wiederverwendbar
- da bin ich hallte es in die Seite und ich will, dass es eingeschränkt ist. und ich möchte das nicht wiederholen doSomething mehrere Male.
- Warum würden Sie haben, zu wiederholen
doSomething
mehrere Male? Erklären Sie es einmal. Wenn Sie brauchen, zu verknüpfen, werden bestimmte Daten mit der<a>
verwenden Sie einedata-*
Attribut und Rendern von Informationen gibt. Und nicht dieonclick
im tag - warten Sie, bis der DOM fertig zu sein, bekommen alle<a>
Elemente, und binden Sie einen click-Ereignishandler für jeden AufrufdoSomething
und übergeben Sie diedata-*
Attribut, das Sie brauchen können. - Was auch immer Sie zu tun versuchen, den code in eine Funktion und rufe diese Funktion in Ihrem
onclick
handler. Schreiben mehr als ein einzelner Befehl oder zwei inline-HTML ist eine schlechte Idee. - Ja, es ist möglich (wenn Sie beheben die Fehler in der syntax), aber nicht praktisch.
- Warum bist du nicht mit .js-Dateien für Ihre javascript-code?
- Dies macht Sinn, für eine schnelle test-Skript (manchmal).
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie selbstausführende, Anonyme Funktionen. dieser code funktioniert:
sehen JSfiddle
Sollte diese Arbeit
Können Sie inline-javascript im onclick-als ob Sie der Zuweisung der Methode durch javascript. Ich denke das ist einfach eine Frage der macht code sauberer halten Sie Ihre js in einem Skriptblock
Dies ist nicht wirklich zu empfehlen, aber Sie können es tun alle inline-etwa so:
Aber ich kann nicht denken Sie an alle Situationen aus hand, wo wäre dies besser als schreiben die Funktion irgendwo aufrufen und es
onClick
.