Javascript 所有类型按钮的事件处理程序

Javascript 所有类型按钮的事件处理程序,javascript,jquery,html,Javascript,Jquery,Html,我想提供一个功能,将监听所有按钮点击事件 web开发人员可以使用不同类型的按钮 <button></button> 或 或 等等 有没有办法为所有这些不同类型的按钮添加公共事件处理程序?我希望避免为创建按钮的所有可能方法手动编写事件处理程序 编辑: 你们中的许多人已经发布了一个创建公共类的很好的解决方案,但不幸的是,我不是创建按钮的人,我提供了一个函数,应用程序/站点开发人员将调用它,我将收集所有类型的按钮单击事件并将它们发送到服务器。一种可能的方法是向所有

我想提供一个功能,将监听所有按钮点击事件

web开发人员可以使用不同类型的按钮

<button></button>



等等

有没有办法为所有这些不同类型的按钮添加公共事件处理程序?我希望避免为创建按钮的所有可能方法手动编写事件处理程序

编辑:
你们中的许多人已经发布了一个创建公共类的很好的解决方案,但不幸的是,我不是创建按钮的人,我提供了一个函数,应用程序/站点开发人员将调用它,我将收集所有类型的按钮单击事件并将它们发送到服务器。

一种可能的方法是向所有这些
元素添加
公共类

 <buttonclass="btn"></button>
   <input type="button" class="btn"></input>
   <div class="button btn"></div>
我建议您对所有类型的按钮使用通用类,并使用类添加事件:

<button class="myButton"></button>
<input type="button" class="myButton"></input>
<div class="button"></div>


$('.myButton').on('click', function() {
    // Event handler code
});

$('.myButton')。在('click',function()上{
//事件处理程序代码
});

如果您创建了单击事件处理程序,例如:

$('.btn-click').click(function() {
    alert('Hello World');
});
然后,只需定义
btn click
类,即可将此事件添加到多个不同的标记中

<button class="btn-click"></button>

<input type="button" class="btn-click"></input>

<div class="button btn-click"></div>


Working JS fiddle:

定义一个全局
btn click
类,将其添加到您想要添加的标记上。此响应在您编辑之后。如果您不使用
div
作为
按钮,则这是可能的。但是你需要一些东西来识别它,这个特殊的
div
充当一个按钮。也许我可以硬编码div部分,但是其他创建按钮的方法呢,肯定不止我提到的3种方法,对吗?在HTML中,几乎所有元素都附带了一个
onclick
事件。因此,除非你确定所有元素都应该作为按钮,否则没有通用的方法。这是一种很好的技术,但是,问题是我不是创建按钮的人,我只是提供了一个sdk/api来收集一般事件并将其发送到服务器。你不能将此信息提供给其他创建按钮的人,他们必须附加
btn click
类才能附加onclick事件?我不知道,我想,我可以在文档中包含这一点,但当应用程序/网站开发人员使用我的功能时,他们很可能已经完成了几乎所有的工作。@ShaunakD谢谢!最新答案
$(':button, .button').on('click', function() {
    // Event handler code
});
<button class="myButton"></button>
<input type="button" class="myButton"></input>
<div class="button"></div>


$('.myButton').on('click', function() {
    // Event handler code
});
$('.btn-click').click(function() {
    alert('Hello World');
});
<button class="btn-click"></button>

<input type="button" class="btn-click"></input>

<div class="button btn-click"></div>