从同一个 onclick 调用两个函数

IT技术 javascript html onclick
2021-03-06 11:54:47

HTML & JS

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

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

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

6个回答

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

 <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();"/>
@Am33d 一个重载,转换为堆栈中的一个单元格和半毫秒的额外处理时间。为了提高可读性和易于维护,这是非常值得的。想象一下,将来您必须添加三个带有条件逻辑的额外方法。
2021-05-01 11:54:47
它可以完成,但在我看来它不是那么透明,或者它可以命名为类似于 funtion1_function2() 之类的东西,在函数不相关的情况下。
2021-05-12 11:54:47
它不会比只执行 onclick="pay(); cls();" 有更多的开销吗??
2021-05-17 11:54:47

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

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

function todo(){
pay(); cls();
}
这个答案已经一年多了,直到现在我才注意到我们几乎在同一时间发布了相同的答案(但你比我快了一分钟,所以我的 +1)。
2021-05-12 11:54:47
onclick="pay(); cls();"

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

解决方法:

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

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

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