Gibt es eine Möglichkeit, mit dem onclick
HTML-Attribut mehr als eine JavaScript-Funktion aufzurufen?
javascript
html
methods
onclick
Qcom
quelle
quelle
Antworten:
Aber wirklich, Sie sollten es besser nicht verwenden
onclick
und den Ereignishandler über Ihren Javascript-Code an den DOM-Knoten anhängen. Dies ist als unauffälliges Javascript bekannt .quelle
onclick=""
nichtonClick=""
. Es ist ein sehr häufiger Fehler.jsx
nichthtml
und diese Frage wurde nicht markiert mitjsx
Eine Verknüpfung mit 1 Funktion definiert
Mehrere Funktionen abfeuern von
someFunc()
quelle
Dies ist der Code, der erforderlich ist, wenn Sie nur JavaScript und nicht jQuery verwenden
quelle
Ich würde die
element.addEventListener
Methode verwenden, um es mit einer Funktion zu verknüpfen. Von dieser Funktion aus können Sie mehrere Funktionen aufrufen.Der Vorteil, den ich beim Binden eines Ereignisses an eine einzelne Funktion und beim anschließenden Aufrufen mehrerer Funktionen sehe, besteht darin, dass Sie einige Fehlerprüfungen durchführen können und einige if else-Anweisungen haben, sodass einige Funktionen nur aufgerufen werden, wenn bestimmte Kriterien erfüllt sind.
quelle
Sicher, binden Sie einfach mehrere Hörer daran.
Short cutting with jQuery
quelle
ES6 reagieren
quelle
Sie können ein Ereignis mit einer oder mehreren Methoden erreichen / aufrufen.
quelle
Sie können mehrere nur per Code hinzufügen, selbst wenn Sie das zweite
onclick
Attribut im HTML haben, das ignoriert undclick2 triggered
nie gedruckt wird. Sie können eines bei Aktion hinzufügen,mousedown
aber das ist nur eine Problemumgehung.Fügen Sie sie am besten per Code hinzu, wie in:
Sie müssen aufpassen, dass sich die Ereignisse häufen können. Wenn Sie viele Ereignisse hinzufügen, können Sie die Anzahl der ausgeführten Aufträge verlieren.
quelle
Eine Ergänzung für wartbares JavaScript ist die Verwendung einer benannten Funktion.
Dies ist das Beispiel der anonymen Funktion:
Stellen Sie sich jedoch vor, Sie haben ein paar davon an dasselbe Element angehängt und möchten eines davon entfernen. Es ist nicht möglich, eine einzelne anonyme Funktion aus diesem Ereignis-Listener zu entfernen.
Stattdessen können Sie benannte Funktionen verwenden:
Dadurch ist Ihr Code auch viel einfacher zu lesen und zu warten. Besonders wenn Ihre Funktion größer ist.
quelle
Sie können alle Funktionen zu einer zusammenfassen und aufrufen. Bibliotheken wie Ramdajs haben die Funktion, mehrere Funktionen zu einer zusammenzufassen.
oder Sie können die Komposition als separate Funktion in die js-Datei einfügen und aufrufen
quelle
Dies ist eine Alternative zu Brad Anser - Sie können Komma wie folgt verwenden
Es ist jedoch besser, diesen Ansatz NICHT zu verwenden - für kleine Projekte können Sie onclick nur bei einem Funktionsaufruf verwenden (mehr: aktualisiertes unauffälliges Javascript ).
Code-Snippet anzeigen
quelle