在jQuery的事件绑定中,如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。
但有时候我们希望在执行双击事件的时候不去出发单击事件,那究竟该如何实现呢?
少bb 上代码 :
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Document</title></head><body> ???<button>按钮</button> ???<script src="jquery.js"></script> ???<script> ???????$(function () { ???????????// var time = null; ???????????// ???????????// $(‘div‘).click(function () { ???????????// // 取消上次延时未执行的方法 ???????????// clearTimeout(time); ???????????// //执行延时 ???????????// time = setTimeout(function(){ ???????????// //do function在此处写单击事件要执行的代码 ???????????// },300); ???????????// }); ???????????// ???????????// $(‘div‘).dblclick(functin ({ ???????????// // 取消上次延时未执行的方法 ???????????// clearTimeout(time); ???????????// //双击事件的执行代码 ???????????// }); ???????????// 单双击 的时间 间隔 是300ms ???????????// 如果解决 单双击冲突 ?????????????var timer = null; ???????????$(‘button‘).click(function(event) { ???????????????clearTimeout(timer); ???????????????// 定时器 ?300ms 一次性定时器 ???????????????timer = setTimeout(function(){ ???????????????????console.log(‘单机了‘); ???????????????}, 300); ???????????}); ???????????$(‘button‘).dblclick(function(event) { ???????????????clearTimeout(timer); ???????????????console.log(‘双机了‘); ???????????}); ???????}) ???</script></body></html>
JQuery如何实现双击事件时不触发单击事件,解决鼠标单双击冲突问题
原文地址:https://www.cnblogs.com/Mr-wangxd/p/9755668.html