2017-04-15 9 views
-2

私は_idというユニークなさまざまな画像を表示するアプリを持っていますが、それらはすべてクラス名:uploadedImageを共有しています。画像を右クリックすると、の画像をclickedImageの配列に追加することができます。クリックした要素をクラス名で認識させるにはどうすればよいですか?

、以下のコードでは、上記の説明検索:私のイメージクラスアーキテクチャ以下

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

を検索:

私はこのコードを実行すると、私は以下のエラーメッセージが表示されます

'contextmenu .uploadedImage': function(){ 

var clickedImage = []; 

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

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

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

クリックした(右クリックした)要素をクラス名で正しく認識させるにはどうすればよいですか?

ありがとうございます!

+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

関連する問題