web-dev-qa-db-de.com

Rufen Sie mit einem Klick zwei Funktionen auf

HTML & JS

Wie rufe ich 2 Funktionen von einem Klickereignis aus auf? Hier ist mein Code

 <input id ="btn" type="button" value="click" onclick="pay() cls()"/>

die beiden Funktionen sind pay () und cls (). Vielen Dank!

100
user182

Semikolons hinzufügen ; bis zum Ende der Funktionsaufrufe, damit beide funktionieren.

 <input id="btn" type="button" value="click" onclick="pay(); cls();"/>

Ich glaube nicht, dass der letzte erforderlich ist , aber hey, könnte es genauso gut für ein gutes Maß hinzufügen.

Hier ist eine gute Referenz von SitePoint http://reference.sitepoint.com/html/event-attributes/onclick

179
Chris Bier

Sie können eine einzelne Funktion erstellen, die beide aufruft, und diese dann im Ereignis verwenden.

function myFunction(){
    pay();
    cls();
}

Und dann für den Knopf:

<input id="btn" type="button" value="click" onclick="myFunction();"/>
31
Renan

Sie können die Funktionen von einer anderen Funktion aus aufrufen

<input id ="btn" type="button" value="click" onclick="todo()"/>

function todo(){
pay(); cls();
}
17
pollirrata

Mit jQuery:

jQuery("#btn").on("click",function(event){
    event.preventDefault();
    pay();
    cls();
});
10
Lucien Baron

Das Binden von Ereignissen aus HTML wird NICHT empfohlen. Dies wird empfohlen, wie:

document.getElementById('btn').addEventListener('click', function(){
    pay();
    cls();
});
9
karaxuna

Nur um etwas Abwechslung zu bieten, kann der Komma auch verwendet werden, aber einige sagen vielleicht "noooooo!", Aber es funktioniert:

<input type="button" onclick="one(), two(), three(), four()"/>

http://jsbin.com/oqizir/1/edit

8
elclanrs
onclick="pay(); cls();"

wenn Sie jedoch eine return-Anweisung in der Funktion "pay" verwenden, wird die Ausführung gestoppt und "cls" wird nicht ausgeführt.

ein Workaround dafür:

onclick="var temp = function1();function2(); return temp;"
7

setzen Sie als Abschlusszeichen ein Semikolon zwischen die beiden Funktionen.

6
pk2218

Versuche dies

<input id ="btn" type="button" value="click" onclick="pay();cls()"/>
5
Sachin