Вызовите две функции из одного и того же onclick
HTML и JS
Как мне вызвать 2 функции из одного события onclick?
Здесь мой код
<input id ="btn" type="button" value="click" onclick="pay() cls()"/>
две функции: pay() и cls().
Благодарю!
Ответы
Ответ 1
Добавьте полуколоны ;
в конец вызовов функций, чтобы они оба работали.
<input id="btn" type="button" value="click" onclick="pay(); cls();"/>
Я не верю, что последний нужен, но эй, может также добавить его для хорошей меры.
Вот хорошая ссылка из SitePoint http://reference.sitepoint.com/html/event-attributes/onclick
Ответ 2
Вы можете создать одну функцию, которая вызывает оба из них, а затем использовать ее в событии.
function myFunction(){
pay();
cls();
}
И затем, для кнопки:
<input id="btn" type="button" value="click" onclick="myFunction();"/>
Ответ 3
Вы можете вызывать функции из другой функции
<input id ="btn" type="button" value="click" onclick="todo()"/>
function todo(){
pay(); cls();
}
Ответ 4
С помощью jQuery:
jQuery("#btn").on("click",function(event){
event.preventDefault();
pay();
cls();
});
Ответ 5
Чтобы предложить несколько вариантов, можно использовать оператор запятой, но некоторые могут сказать "noooooo!", но он работает:
<input type="button" onclick="one(), two(), three(), four()"/>
http://jsbin.com/oqizir/1/edit
Ответ 6
События привязки из html НЕ рекомендуются. Это рекомендуется:
document.getElementById('btn').addEventListener('click', function(){
pay();
cls();
});
Ответ 7
onclick="pay(); cls();"
однако, если вы используете оператор return в функции "pay", выполнение остановится и "cls" не будет выполняться,
обходной путь:
onclick="var temp = function1();function2(); return temp;"
Ответ 8
помещает точку с запятой между двумя функциями в качестве терминатора операторов.
Ответ 9
Попробуйте это
<input id ="btn" type="button" value="click" onclick="pay();cls()"/>