2012-12-26 82 views
2

我想统计点击一个div的次数。例如,如何统计点击DIV的次数?

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

我想仅单击这些div一次。如果用户第二次点击,则会显示错误消息。 任何人都可以提供帮助吗?请!

+4

你可以用'one'方法。 http://api.jquery.com/one/ – undefined

+0

with'one',你怎么显示错误信息? – Reigel

+0

使用警示框 – ijarlax

回答

0

jsBin demo

$('div[id^=id]').click(function(){ 
     if($(this).hasClass('clicked')){ 
      alert('Already selected'); 
      return; 
     } 
     $(this).addClass('clicked'); 
}); 
  • $('div[id^=id]')将寻找其ID与(^) “id
  • 不仅仅是检查你希望一个类名开始你所有的div元素(我用clicked
  • 如果该类不存在,只需添加它。
0
n = 0; 
$('#id1').click(function() { 
    if(n > 1) { 
    $('#id1').update("Error, you have clicked " + n + " times"); 
    } 
    n++; 
}); 
+0

请用你建议的EXACT代码创建一个演示 –

0

尝试使用one()

$("#id1").one("click", function() { 
    alert("Here after you cant click Div id1. Only once fired"); 
}); 
+0

这个答案部分正确。 (以编程方式读取不正确) –

0

您可以使用Ajax代码,如果你想保存在数据库中的数据。

您可以在点击事件中初始化ajax代码,并在其他页面上执行您的代码,如此代码中的 。

$(".button_id").live("click",function(){ 
var vid=this.id; 
//alert(this.id); 
$.ajax({ 
type : 'POST', 
url  : 'test.php', 
data : 'vid='+vid+'&condition=unlike', 
success : function(data) { 

} 
}); 
0

one是你所需要的..

http://jsfiddle.net/Pd6Jd/2/

$("#id1").one("click", function() { 
    alert("This will be displayed only once."); 
});​ 
+0

-1这已经得到解答。 –

4

您可以使用.one的长期错误消息处理程序绑定:

$("div").one("click", function (event) { 
    alert("No error."); 
    $(this).on("click.error", function (event) { 
     alert("Error from now on."); 
    }); 
}); 

通过使用.one ,我们保证外面的韩dler只会运行一次,然后立即解除绑定。这是足够的,因为它运行的是第一次,它建立了一个新的处理程序(click.error下),这将活出该文件的时间,“防止”任何进一步的点击。

小提琴:http://jsfiddle.net/EJ6CL/1/

0

如果你不知道你需要多少股利有,你可以添加类到这些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> 
...... 
相关问题