我想计算div点击的次数。例如,
<div id="id1">
click here..
</div>
<div id="id2">
click here..
</div>
......
我想只点击这些div一次。如果用户第二次单击,则会显示错误消息。 有人可以帮忙吗? PLS!
答案 0 :(得分:4)
您可以使用.one
绑定长期错误消息处理程序:
$("div").one("click", function (event) {
alert("No error.");
$(this).on("click.error", function (event) {
alert("Error from now on.");
});
});
通过使用.one
,我们可以保证外部处理程序只运行一次,然后立即取消绑定。这已经足够了,因为第一次运行时,它会设置一个新的处理程序(在click.error
下),它将在文档的持续时间内生效,“防止”任何进一步的点击。
答案 1 :(得分:0)
的 jsBin demo 强> 的
$('div[id^=id]').click(function(){
if( $(this).hasClass('clicked') ){
alert('Already selected');
return;
}
$(this).addClass('clicked');
});
$('div[id^=id]')
将查找ID以(div
)“^
”开头的所有id
元素
clicked
)答案 2 :(得分:0)
n = 0;
$('#id1').click(function() {
if(n > 1) {
$('#id1').update("Error, you have clicked " + n + " times");
}
n++;
});
答案 3 :(得分:0)
尝试使用one()
$("#id1").one("click", function() {
alert("Here after you cant click Div id1. Only once fired");
});
答案 4 :(得分: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) {
}
});
答案 5 :(得分:0)
one
就是您所需要的......
$("#id1").one("click", function() {
alert("This will be displayed only once.");
});
答案 6 :(得分:0)
如果您不知道需要多少div,可以在这些div中添加class并使用单击的元素构建一个数组:
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>
......