从同一个onclick调用两个函数

use*_*182 101 html javascript onclick

HTML和JS

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

 <input id ="btn" type="button" value="click" onclick="pay() cls()"/>
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*ier 184

;在函数调用结束时添加分号以使它们都起作用.

 <input id="btn" type="button" value="click" onclick="pay(); cls();"/>
Run Code Online (Sandbox Code Playgroud)

我不相信最后一个是必需的但是嘿,不妨把它添加进去做好准备.

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


Ren*_*nan 33

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

function myFunction(){
    pay();
    cls();
}
Run Code Online (Sandbox Code Playgroud)

然后,对于按钮:

<input id="btn" type="button" value="click" onclick="myFunction();"/>
Run Code Online (Sandbox Code Playgroud)

  • 它可以完成,但在我看来它不是那么透明,或者可以命名类似于funtion1_function2(),在函数不相关的情况下. (3认同)

pol*_*ata 17

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

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

function todo(){
pay(); cls();
}
Run Code Online (Sandbox Code Playgroud)

  • 这个答案已经过去一年多了,直到现在我才注意到我们几乎在同一时间发布了相同的答案(但是你打了我一分钟,所以我的+1). (9认同)

小智 10

使用jQuery:

jQuery("#btn").on("click",function(event){
    event.preventDefault();
    pay();
    cls();
});
Run Code Online (Sandbox Code Playgroud)


kar*_*una 9

不建议从html绑定事件.这是推荐的方式:

document.getElementById('btn').addEventListener('click', function(){
    pay();
    cls();
});
Run Code Online (Sandbox Code Playgroud)


elc*_*nrs 8

只是为了提供一些变化,逗号运算符也可以使用,但有些人可能会说"noooooo!",但它有效:

<input type="button" onclick="one(), two(), three(), four()"/>
Run Code Online (Sandbox Code Playgroud)

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


Ami*_*sef 7

onclick="pay(); cls();"
Run Code Online (Sandbox Code Playgroud)

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

解决方法:

onclick="var temp = function1();function2(); return temp;"
Run Code Online (Sandbox Code Playgroud)


小智 6

在两个函数之间加一个分号作为语句终止符.


Sac*_*hin 5

尝试这个

<input id ="btn" type="button" value="click" onclick="pay();cls()"/>
Run Code Online (Sandbox Code Playgroud)