Javascript 双击的Jquery超时

Javascript 双击的Jquery超时,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个可点击的div,它应该首先显示一条文本指令,以便再次点击以启动ajax操作,这是在第一次点击后添加的新类名下。此文本有一个超时,将更改回原始文本 问题是,一旦文本恢复到原始状态,实际的ajax fire操作也应该停止工作,但实际的类并没有被删除。有什么建议吗 我真正需要的是一种双击和2秒超时 function onlyfire(){ $(“.onlyfire”)。单击(函数(){ var div=$(本); var original=$(this.html(); div.html(“再

我有一个可点击的div,它应该首先显示一条文本指令,以便再次点击以启动ajax操作,这是在第一次点击后添加的新类名下。此文本有一个超时,将更改回原始文本

问题是,一旦文本恢复到原始状态,实际的ajax fire操作也应该停止工作,但实际的类并没有被删除。有什么建议吗

我真正需要的是一种双击和2秒超时

function onlyfire(){
$(“.onlyfire”)。单击(函数(){
var div=$(本);
var original=$(this.html();
div.html(“再次点击”);
$(“.onlyfire”).addClass(“fire”);
setTimeout(函数(){
$(div.html)(原件);
$(“.onlyfire”)。移除类(“fire”);
}, 2000);
$(“.fire”)。单击(函数(fire){
$.ajax({
类型:“POST”,
数据:dataString,
url:“something.php”,
cache:false,
成功:函数(html){
div.html(html);
}
});
});
返回false;
});
};

做点什么
您可以使用
.one()
事件
作为参数,
.off()
引用
事件
命名空间

功能手柄点击(e){
var div=$(this.data(“原始”,this.innerHTML);
//var original=div.html();
div.html(“再次点击”);
$(“.onlyfire”).off(“click”).addClass(“fire”);
// http://stackoverflow.com/questions/39057179/why-is-click-event-attached-to-classname-fired-after-classname-is-removed#comment65464000_39057261
var fire=$(“.fire”);
fire.one(“click.fire”,function()){
警报(“文本更改回原始文本后,不应显示此警报”);
});
setTimeout(函数(){
点火关闭(“点击点火”);
分区移除类(“火灾”)
.html(div.data(“原始”))。单击(handleClick);
}, 2000);
}
函数onlyfire(){
$(“.onlyfire”)。单击(handleClick);
};
onlyfire()

做点什么
您可以使用
.one()
事件
作为参数,
.off()
引用
事件
命名空间

功能手柄点击(e){
var div=$(this.data(“原始”,this.innerHTML);
//var original=div.html();
div.html(“再次点击”);
$(“.onlyfire”).off(“click”).addClass(“fire”);
// http://stackoverflow.com/questions/39057179/why-is-click-event-attached-to-classname-fired-after-classname-is-removed#comment65464000_39057261
var fire=$(“.fire”);
fire.one(“click.fire”,function()){
警报(“文本更改回原始文本后,不应显示此警报”);
});
setTimeout(函数(){
点火关闭(“点击点火”);
分区移除类(“火灾”)
.html(div.data(“原始”))。单击(handleClick);
}, 2000);
}
函数onlyfire(){
$(“.onlyfire”)。单击(handleClick);
};
onlyfire()

做点什么

您可以在单击处理程序中使用
if
语句查看是第一次单击还是第二次单击(通过检查类),并执行适当的操作:

function onlyfire(){
$('.onlyfire')。单击(函数(){
var div=$(本);
如果(div.is('.fire')){//第二次单击
警报(“仅当文本为“再次点击”时才会显示此消息”);
}否则{//请先单击
var original=$(this.html();
div.text(“再次点击”);
div.addClass(“火灾”).removeClass(“仅限火灾”);
setTimeout(函数(){
$(div.html)(原件);
$(“.onlyfire”)。移除类(“fire”);
}, 2000);
}
返回false;
});
};
onlyfire()

做点什么

您可以在单击处理程序中使用
if
语句查看是第一次单击还是第二次单击(通过检查类),并执行适当的操作:

function onlyfire(){
$('.onlyfire')。单击(函数(){
var div=$(本);
如果(div.is('.fire')){//第二次单击
警报(“仅当文本为“再次点击”时才会显示此消息”);
}否则{//请先单击
var original=$(this.html();
div.text(“再次点击”);
div.addClass(“火灾”).removeClass(“仅限火灾”);
setTimeout(函数(){
$(div.html)(原件);
$(“.onlyfire”)。移除类(“fire”);
}, 2000);
}
返回false;
});
};
onlyfire()

做点什么

是否要使div在一段时间内不可单击?可能重复@ZaheerAhmed我想使其仅在这2秒钟内可单击。。第一次单击仅显示再次点击的指令。。基本上是双击。。我想让div在一段时间内不可点击吗?可能是@ZaheerAhmed的副本我想让它只在这2秒钟内可点击。。第一次单击仅显示再次点击的指令。。基本上是双击。。我不工作。。一旦文本返回以执行某些操作,并且我再次单击,我将不会看到警报。。若要查看警报,我需要单击“执行某些操作”,然后在头2秒钟内再次点击..“若要查看警报,我需要单击“执行某些操作”,然后在头2秒钟内再次点击。”是的,这是当前的功能。不确定你说的“不工作”是什么意思?是否应清除
setTimeout
,并将
html
设置为
original
单击一次
.fire
。。在“执行某项操作”单击时,再次单击应显示,如果在前2秒内单击,则会显示警报。。不在之前或之后。单击“执行某事”,等待2秒钟,直到“执行某事”返回,再次单击,它将显示警报。。而且不应该。。它应该再次显示tap,并且只有在前2秒内单击时,警报才会显示。@120382833有趣。
.fire
className
已从
html
中删除,但
单击
事件仍附加到
.onlyfire
元素。见更新的第页