2017-04-15 46 views
-2

我有一個應用程序可以顯示各種圖像,每個圖像都有獨特的_id,但它們都共享類名稱:uploadedImage。當圖像被右鍵點擊時,我希望事件將圖像unqiue _id添加到clickedImage陣列。如何通過類名獲取JavaScript來識別單擊的元素?

找出下,在代碼上面的描述:

'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通過類名正確識別點擊(右鍵單擊)元素?

提前致謝!

+0

是不是一個壞主意來處理右鍵點擊移動設備的時間?他們只知道點擊事件,沒有右擊或鼠標懸停。也許你最好可以計算秒數,直到觸摸離開圖像,並在超過2秒鐘後將其設置爲標記或類似的東西。 – TypedSource

回答

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); 
    } 
}); 

如果你使用一個類,選擇它的工作原理與已分配這個類的每一個元素,然後單擊聽者不必是在選擇;)

+0

謝謝!我用你的代碼更新了我的代碼,但JavaScript似乎繞過了它。也許你忘了你的代碼被封裝在'contextmenu .uploadedImage'中:function(){}?期待你的回覆... – SirBT

相關問題