[英]How to check if event was fired once?
我在jQuery中有这样的代码:
$("#something").click(function() {
};
并且里面的功能,我想检查是否#something
在短时间内被点击一次,如果两次以上,那么像一次。
我尝试了这段代码:
if(!event.detail || event.detail == 1) { do_something; }
它适用于除Firefox之外的大多数浏览器。 我知道为什么,但没有发现这方面的任何解决方案。 我在dblclick
事件上尝试了preventDefault
,但在Chrome中不起作用...
有任何想法吗?
您可以使用event.timeStamp
确定两个事件之间的时间。
$("#something").click(function( event ) {
this.lastClick = this.lastClick || 0;
if( event.timeStamp - this.lastClick > 200 ) {
// do something
alert('click');
} else {
// last click occured below 200ms, set out `lastClick` to the current timestamp
}
this.lastClick = event.timeStamp;
});
我在这里有点草率,将lastClick
存储在DOM元素对象表示中。 您可能希望将该变量放在应用程序的更高范围内。
有无赖的方法。
有一个全局变量,
在click事件中,增加它。
当累积了足够的点击次数时,使用$(this)
对象从元素中删除click事件。
我修改你的代码了一下,
var counter =0;
$("#something").click(function() {
counter++;
//alert("Clicked : " + counter);
};
我希望这是了解点击次数的最简单方法。
如果要控制点击,只需检查是否
if(counter >= 1) {...}
我认为这会做的:)
使用.dblclick()(JQUERY)-双击使用.click()(JQUERY)-单击
如果1,2次点击足以完成您的任务-请使用它们。
祝好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.