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