在jquery中有什么东西可以让我区分双击和单击的行为吗?
当我将两个绑定到同一个元素时,只执行单击.
是否有一种方法可以在执行单击之前等待一段时间以查看用户是否再次点击?
谢谢 :)
这是怎么做到的?
我有一个vue组件,其中包含click/dblclik的单独事件.单击(de)选择行,dblclick打开编辑表单.
<ul class="data_row"
v-for="(row,index) in gridData"
@dblclick="showEditForm(row,$event)"
@click="rowSelect(row,$event)"
>
Run Code Online (Sandbox Code Playgroud)
这样做,我点击双击就发了3个事件.两次点击事件,最后一次是dblclick.由于点击事件首先触发,是否有一种方法(短暂的推迟点击事件的固定数量的ms),以便在双击时停止点击事件的传播?
在这里小提琴
可能重复:
检测到双击事件时需要取消单击/鼠标事件
我试图让一个HTML对象在发生single或double单击事件时表现不同.
目前我的工作示例http://jsfiddle.net/9vvEG/双击即触发单击,我希望我的代码专门监听预先配置的事件. 即如果双击忽略单击,反之亦然.
目前尚未成功,但如果您单击上面的示例链接,则可以看到正在进行的错误.
在我的Backbone View中,我定义了这样的事件:
events : {
'click .elm' : 'select',
'dblclick .elm' : 'toggle'
},
select: function(e){
e.preventDefault();
console.log('single clicked');
}
toggle : function(e){
e.preventDefault();
console.log('double clicked');
}
Run Code Online (Sandbox Code Playgroud)
我已将单击和双击事件侦听器绑定到同一元素.elm.当我双击这个元素时,我得到这个输出:
single clicked
single clicked
double clicked
尝试preventDefault()和stopImmediatePropagation()并没有解决不了的问题.
那么,当我双击时,如何防止单击事件被触发?