141

HTML & JS

如何从一个 onclick 事件中调用 2 个函数?这是我的代码

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

两个函数是 pay() 和 cls()。谢谢!

4

9 回答 9

257

在函数调用的末尾添加分号;,以使它们都能正常工作。

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

我不相信最后一个是必需的,但是嘿,不妨将它添加进去。

这是 SitePoint http://reference.sitepoint.com/html/event-attributes/onclick的一个很好的参考

于 2013-04-15T21:41:26.517 回答
50

您可以创建一个调用这两个函数的函数,然后在事件中使用它。

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

然后,对于按钮:

<input id="btn" type="button" value="click" onclick="myFunction();"/>
于 2013-04-15T21:41:04.040 回答
21

您可以从另一个函数内部调用函数

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

function todo(){
pay(); cls();
}
于 2013-04-15T21:40:20.683 回答
14
onclick="pay(); cls();"

但是,如果您在“pay”函数中使用 return 语句,则执行将停止并且“cls”不会执行,

解决方法:

onclick="var temp = function1();function2(); return temp;"
于 2013-04-15T21:47:59.980 回答
12

不推荐从 html 绑定事件。这是推荐的方式:

document.getElementById('btn').addEventListener('click', function(){
    pay();
    cls();
});
于 2014-07-12T18:07:44.000 回答
10

使用 jQuery:

jQuery("#btn").on("click",function(event){
    event.preventDefault();
    pay();
    cls();
});
于 2013-04-15T21:42:20.573 回答
10

只是为了提供一些多样性,也可以使用逗号运算符,但有些人可能会说“noooooo!”,但它有效:

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

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

于 2013-04-15T21:47:01.347 回答
6

试试这个

<input id ="btn" type="button" value="click" onclick="pay();cls()"/>
于 2013-04-15T21:42:06.127 回答
6

在两个函数之间放置一个分号作为语句终止符。

于 2014-04-15T10:08:38.767 回答