2013-04-15 9 views
72

HTML & JSAnruf zwei Funktionen aus gleichem Onclick

Wie rufe ich zwei Funktionen von einem Onclick-Ereignisse? Hier ist mein Code

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

die beiden Funktionen zu sein pay() und cls(). Danke!

+24

Hallo Semikolon, lieber Anweisungsterminator. 'bezahlen(); cls() ' – elclanrs

+3

Was in Ihren Zitaten ist, ist nur Javascript. Trennen Sie Java-Anweisungen mit einem Semikolon. zB: 'pay(); cls(); ' – Kyle

Antwort

128

hinzufügen Semikolons ; bis zum Ende der Funktionsaufrufe für sie, um sowohl zu arbeiten.

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

Ich glaube nicht das letzte erforderlich ist, aber hey, es könnte auch hinzufügen, für eine gute Maßnahme in.

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

14

können Sie die Funktionen aufrufen, von innen eine andere Funktion

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

function todo(){ 
pay(); cls(); 
} 
+6

Es ist mehr als ein Jahr seit dieser Antwort vergangen, und erst jetzt bemerkte ich, dass wir fast zur gleichen Zeit die gleiche Antwort gepostet haben (aber du hast mich eine Minute geschlagen, also hab +1). – Renan

29

Sie können eine einzelne Funktion erstellen, die beide von denen Anrufe, und sie dann im Falle verwenden.

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

Und dann, für die Schaltfläche:

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

es kann getan werden, aber scheint mir, es ist nicht so transparent oder es könnte ähnlich wie funtion1_function2() benannt werden, in einem Fall, dass Funktionen nicht verwandt sind. – Muflix

4

Versuchen Sie, diese

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

Mit jQuery:

jQuery("#btn").on("click",function(event){ 
    event.preventDefault(); 
    pay(); 
    cls(); 
}); 
5
onclick="pay(); cls();" 

jedoch, wenn Sie die Ausführung einer return-Anweisung in "pay" Funktion verwenden stoppt und "cls" wird nicht ausgeführt,

eine Abhilfe dazu:

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

Setzen Sie ein Semikolon zwischen den beiden Funktionen als Anweisungsabschlusszeichen.

6

Bindung Ereignisse von HTML wird nicht empfohlen. Dies ist empfohlene Methode:

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