为多个元素添加事件侦听器并检测哪个元素触发事件 - jQuery

粘手肘

click在多个元素上添加了事件侦听器,jQuery其中工作正常:

$('#element1, #element2, #element3, #element4').on('click', function(){
  // do something with the clicked element
});

现在我想找出正在单击的元素。我怎样才能做到这一点?非常感谢你。

马蒙

您可以使用this或检查事件处理函数的传递事件目标属性

使用this

$('#element1, #element2, #element3, #element4').on('click', function(event){
    console.log('The id of the clicked button is: ' +this.id)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="element1">Button1</button>
<button id="element2">Button2</button>
<button id="element3">Button3</button>
<button id="element4">Button4</button>

使用Event.target

$('#element1, #element2, #element3, #element4').on('click', function(event){
    console.log('The id of the clicked button is: ' +event.target.id)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="element1">Button1</button>
<button id="element2">Button2</button>
<button id="element3">Button3</button>
<button id="element4">Button4</button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用jQuery将事件侦听器添加到动态添加的元素中

jQuery事件侦听器多次触发

如何在尚未在 DOM [no-jQuery] 中的元素上添加事件侦听器?

无法使用 JQuery 向克隆元素添加事件侦听器 - 用于 CSS 动画

jQuery面向对象的创建dom元素并添加事件侦听器

jQuery DataTables的on()事件侦听器,具有多个事件

将jquery事件侦听器添加到一系列唯一元素

dispatchEvent不触发jQuery.on()事件侦听器

多个流星元素触发jQuery事件

检查元素是否具有事件侦听器。没有jQuery

jQuery事件侦听器,用于插入特定于元素的类

没有jQuery的当前和将来元素的事件侦听器

AngularJS:使用jQuery将事件侦听器绑定到ng-repeat生成的元素

如何为没有JQuery动态创建的元素创建事件侦听器

jQuery中的多个链接的.on('click')事件侦听器

jQuery:一次创建多个事件侦听器?

如何在jquery的sweetalert对话框中为html按钮添加事件侦听器

在 jQuery 中创建的元素不触发侦听器

jQuery-添加新的div事件侦听器

如何使用jquery .each()添加单个事件侦听器?

jQuery在不同的DOM层次结构中委派的事件侦听器-是否会触发适用的事件侦听器?

jQuery 事件侦听器粘住/级联?

jQuery中的单击事件侦听器

如何将事件侦听器添加到ag网格的单元格内的元素(使用js或jquery,不是Angular,不是reactjs,不是vue)

使用事件侦听器在不使用jquery的情况下触发keypress事件

jQuery .on侦听器不要将点击侦听器添加到新元素

如何在 JQuery 中为动态创建的具有相同类名的链接添加事件侦听器?

使用.on()事件的变量,自定义jQuery插件中的侦听器不会触发

jQuery $(窗口).resize(); 等价的事件侦听器,仅在指定的轴更改上触发?