【发布时间】:2013-04-28 08:22:07
【问题描述】:
您好,我正在为我的 jquery ajax 引擎开发单击双击事件处理程序。这个想法是您可以单击或双击一个按钮。这是我自己写的,但我不明白为什么它不起作用。
这是代码:
$('body').on('click', '.double-click', function() {
var that = this;
var dblclick = $(that).data('clicks');
if(!dblclick){
dblclick = 0;
}
dblclick = dblclick + 1;
$(that).data('clicks', dblclick);
dblclick = $(that).data('clicks');
console.log('click - ' + dblclick);
if(dblclick > 1){
$(this).data('clicks', 0);
//ajaxloader(this, 1);
alert('dubbel-klik');
console.log('dubbelcik event');
}
setTimeout(function() {
if(dblclick == 1){
$(that).data('clicks', 0);
//ajaxloader(this, 0);
alert('klik');
console.log('single click event');
}
}, 400);
});
它可能看起来有点过于复杂,但那是因为我尝试了一些东西。我遇到的问题是,当我双击双击时,单击也会执行。当我使用$(this).data('clicks', 0); 重置时,这怎么可能?然后计数器必须为 0,并且超时中的 if 语句必须为假。
有人知道出了什么问题!?
是的,请在此处查看工作演示:click the click en dubbelclick button
【问题讨论】:
标签: javascript jquery event-handling click double-click