2

divがクリックされた回数を数えたいです。例えば、

<div id="id1">
  click here..
</div>
<div id="id2">
  click here..
</div>
......

これらのdivを1回だけクリックしたい。ユーザーが2回目にクリックすると、エラーメッセージが表示されます。誰でも助けることができますか?pls!

4

7 に答える 7

0

必要な div の数がわからない場合は、これらの div にクラスを追加し、次のように要素をクリックして配列を作成できます。

    var clickedArr = new Array();
var clickedArr = [];
$('.SpecialDiv').click(function(){
  if(jQuery.inArray($(this).attr('id'),clickedArr)!=-1){
     alert("Error already clicked");
}else{
  clickedArr.push($(this).attr('id'));
}
});

この例では、SpecialDiv (唯一のクラス名です。変更できます。クリック可能なこれらの div をマークするためだけです) クラスをコードに追加する必要があります。

<div class="SpecialDiv" id="id1">
  click here..
</div>
<div class="SpecialDiv" id="id2">
  click here..
</div>
......
于 2012-12-26T12:08:45.353 に答える
0

jsBin デモ

$('div[id^=id]').click(function(){
      if( $(this).hasClass('clicked') ){
          alert('Already selected');
          return;
      }
      $(this).addClass('clicked');   
});
  • $('div[id^=id]')divID が ( ^) " id" で始まるすべての要素を検索します
  • 希望するクラス名を確認するだけではありません(私は使用しましたclicked
  • クラスが存在しない場合は、追加するだけです。
于 2012-12-26T11:53:54.073 に答える
0
n = 0;
$('#id1').click(function() {
  if(n > 1) {
     $('#id1').update("Error, you have clicked " + n + " times");
  }
  n++;
});
于 2012-12-26T11:53:55.173 に答える
0

one()を使用してみてください

$("#id1").one("click", function() {
  alert("Here after you cant click Div id1. Only once fired");
});
于 2012-12-26T11:53:56.793 に答える