2013-04-15 19 views
72

HTML & JSpołączeń dwie funkcje od samego onclick

Jak mogę zadzwonić 2 funkcje z jednego zdarzenia onclick? Oto mój kod

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

istota płatnej dwie funkcje() i CLS(). Dzięki!

+24

Cześć, średnik, droga terminator wypowiedzi. 'pay(); cls() ' – elclanrs

+3

To, co jest w środku, to po prostu javascript. Oddzielne instrukcje java używające średnika. tj .: 'pay(); cls(); ' – Kyle

Odpowiedz

128

Dodaj średnikami ; do końca wywołania funkcji w celu ich zarówno do pracy.

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

Nie wierzę ostatnia jest wymagane ale hej, równie dobrze można go dodać w środek na dobre.

Oto dobre referencje od SitePoint http://reference.sitepoint.com/html/event-attributes/onclick

14

można wywołać funkcji od wewnątrz innej funkcji

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

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

Minęło ponad rok od tej odpowiedzi i dopiero teraz zauważyłem, że wysłaliśmy tę samą odpowiedź prawie w tym samym czasie (ale pokonałeś mnie przez minutę, więc miej +1). – Renan

29

Można tworzyć pojedynczą funkcję, która wywołuje zarówno tych, a następnie używać go w tym wydarzeniu.

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

A potem, za pomocą przycisku:

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

można to zrobić, ale wydaje mi się, że nie jest tak przezroczysty lub może być nazwany podobnie do czegoś jak funtion1_function2(), w przypadku, gdy funkcje nie są ze sobą powiązane. – Muflix

4

Spróbuj

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

z jQuery:

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

jednak jeśli używasz instrukcji return w funkcji „Zapłać” wykonanie zostanie zatrzymane i „CLS” nie wykona,

obejście tego:

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

wstawić średnik między dwiema funkcjami jako terminator instrukcji.

6

Nie jest zalecane powiązanie zdarzeń z html. Jest to zalecany sposób:

document.getElementById('btn').addEventListener('click', function(){ 
    pay(); 
    cls(); 
}); 
Powiązane problemy