如何让JavaScript按类名识别被点击的元素?

时间:2017-04-15 22:08:24

标签: javascript meteor foreach onclick

我有一个应用程序显示各种图像,每个图像都有一个唯一的_id,但它们都共享类名:uploadedImage。右键单击图像后,我希望事件将图像unqiue _id添加到clickedImage数组中。

在下面的代码中找到以上描述:

 'contextmenu .uploadedImage': function(){

 var clickedImage = [];

 $('.uploadedImage: onclick').forEach(function(index ){

     clickedImage.push(this._id);
     console.log(,...clickedImage);
    });  

当我运行此代码时,我收到以下错误消息:

Uncaught Error: Syntax error, unrecognized expression: .uploadedImage: onclick

在下面找到我的图像类架构:

<div class="col-md-2 col-sm-3 col-xs-4 uploadedImage">
<div class="well">
</div>              
</div>

那么,如何让JavaScript按类名正确识别单击(右键单击)元素?

提前致谢!

1 个答案:

答案 0 :(得分:2)

$('.uploadedImage').on('click', function(e){
  // check if it was a rightclick with this if
  if ((e.which && e.which == 3) || (e.button && e.button == 2)) {
    clickedImage.push($(this).attr('_id'));
    console.log(clickedImage);
  }
});

如果你使用一个类作为选择器,它适用于已经分配了这个类的每个元素,并且点击监听器不能在选择器中;)