[转]jQuery 双击事件(dblclick)时,不触发单击事件(click)
2015-09-02 10:26
846 查看
例1: 链接:http://www.w3school.com.cn/jquery/event_dblclick.asp
HTML 系列教程
浏览器脚本
服务器脚本
ASP.NET 教程
XML 系列教程
Web Services 系列教程
建站手册
jQuery 简介
jQuery 安装
jQuery 语法
jQuery 选择器
jQuery 事件
jQuery 淡入淡出
jQuery 滑动
jQuery 动画
jQuery stop()
jQuery Callback
jQuery Chaining
jQuery 设置
jQuery 添加
jQuery 删除
jQuery CSS 类
jQuery css()
jQuery 尺寸
jQuery 祖先
jQuery 后代
jQuery 同胞
jQuery 过滤
jQuery 加载
jQuery Get/Post
jQuery 测验
jQuery 选择器
jQuery 事件
jQuery 效果
jQuery 文档操作
jQuery 属性操作
jQuery CSS 操作
jQuery Ajax
jQuery 遍历
jQuery 数据
jQuery DOM 元素
jQuery 核心
jQuery 属性
亲自试一试
当鼠标指针停留在元素上方,然后按下并松开鼠标左键时,就会发生一次 click。
在很短的时间内发生两次 click,即是一次 double click 事件。
dblclick() 方法触发 dblclick 事件,或规定当发生 dblclick 事件时运行的函数。
提示:如果把 dblclick 和 click 事件应用于同一元素,可能会产生问题。
亲自试一试
亲自试一试
jQuery 事件参考手册
例2:
在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。即一个标签元素(如div等),如果元素同时 绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。
先看一下点击事件的执行顺序:
单击(click):mousedown,mouseout,click;
双击(dblclick):mousedown,mouseout,click , mousedown,mouseout,click,dblclick;
在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。也就是说双
击事件(dblclick)会返回一次单击事件(click)结果和一次双击事件(dblclick)
结果。而不是一次双击事件(dblclick)结果和两次单击事件结果(click)。
如此这般的话,只需消灭掉多余的一次单击事件(click),这个问题就解决了。
setTimeout
在jQuery的$(document).ready(function(){})里面直接开写:
从测试结果来看,如果前后两次点击的时间在 300ms 左右的时候,还是很容易出现 click 和 dblclick 事件被“同时”调用的情况,而如果间隔的时间更短或更长,则只会有 click 或 dblclick 事件。
至此,能一定程度上避免双击(dblclick)时触发单击(click)。
HTML 系列教程
浏览器脚本
服务器脚本
ASP.NET 教程
XML 系列教程
Web Services 系列教程
建站手册
jQuery 教程
jQuery 教程jQuery 简介
jQuery 安装
jQuery 语法
jQuery 选择器
jQuery 事件
jQuery 效果
jQuery 隐藏/显示jQuery 淡入淡出
jQuery 滑动
jQuery 动画
jQuery stop()
jQuery Callback
jQuery Chaining
jQuery HTML
jQuery 获取jQuery 设置
jQuery 添加
jQuery 删除
jQuery CSS 类
jQuery css()
jQuery 尺寸
jQuery 遍历
jQuery 遍历jQuery 祖先
jQuery 后代
jQuery 同胞
jQuery 过滤
jQuery AJAX
jQuery AJAX 简介jQuery 加载
jQuery Get/Post
jQuery 杂项
jQuery noConflict()jQuery 实例
jQuery 实例jQuery 测验
jQuery 参考手册
jQuery 参考手册jQuery 选择器
jQuery 事件
jQuery 效果
jQuery 文档操作
jQuery 属性操作
jQuery CSS 操作
jQuery Ajax
jQuery 遍历
jQuery 数据
jQuery DOM 元素
jQuery 核心
jQuery 属性
jQuery 事件 - dblclick() 方法
jQuery 事件参考手册实例
当双击按钮时,隐藏或显示元素:$("button").dblclick(function(){ $("p").slideToggle(); });
亲自试一试
定义和用法
当双击元素时,会发生 dblclick 事件。当鼠标指针停留在元素上方,然后按下并松开鼠标左键时,就会发生一次 click。
在很短的时间内发生两次 click,即是一次 double click 事件。
dblclick() 方法触发 dblclick 事件,或规定当发生 dblclick 事件时运行的函数。
提示:如果把 dblclick 和 click 事件应用于同一元素,可能会产生问题。
触发 dblclick 事件
语法
$(selector).dblclick()
亲自试一试
将函数绑定到 dblclick 事件
语法
$(selector).dblclick(function)
参数 | 描述 |
---|---|
function | 可选。规定当发生 dblclick 事件时运行的函数。 |
jQuery 事件参考手册
例2:
在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。即一个标签元素(如div等),如果元素同时 绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。
先看一下点击事件的执行顺序:
单击(click):mousedown,mouseout,click;
双击(dblclick):mousedown,mouseout,click , mousedown,mouseout,click,dblclick;
在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。也就是说双
击事件(dblclick)会返回一次单击事件(click)结果和一次双击事件(dblclick)
结果。而不是一次双击事件(dblclick)结果和两次单击事件结果(click)。
如此这般的话,只需消灭掉多余的一次单击事件(click),这个问题就解决了。
setTimeout
在jQuery的$(document).ready(function(){})里面直接开写:
//定义setTimeout执行方法 var TimeFn = null; $('div').click(function () { // 取消上次延时未执行的方法 clearTimeout(TimeFn); //执行延时 TimeFn = setTimeout(function(){ //do function在此处写单击事件要执行的代码 },300); }); $('div').dblclick(functin () { // 取消上次延时未执行的方法 clearTimeout(TimeFn); //双击事件的执行代码 })
从测试结果来看,如果前后两次点击的时间在 300ms 左右的时候,还是很容易出现 click 和 dblclick 事件被“同时”调用的情况,而如果间隔的时间更短或更长,则只会有 click 或 dblclick 事件。
至此,能一定程度上避免双击(dblclick)时触发单击(click)。
相关文章推荐
- jquery文档
- ajax同步和异步的介绍
- jquery实现华丽的可折角广告代码
- jQuery事件绑定—on()、bind()与delegate()
- JQuery级联下拉框的实现
- jQuery的.bind()、.live()和.delegate()之间区别
- jQuery入门教程
- 关于css的样式和jsp、jquery相关问题
- 写好jquery的良好习惯
- jQuery的ajax报错:SyntaxError: missing ] after element list
- jQuery实现固定在网页顶部的菜单效果代码
- 自定义刻度jQuery进度条及插件
- JQuery操作textarea,input,select,checkbox方法
- 用JQuery编写textarea,input,checkbox,select
- 2015-2016网页设计趋势分析 Web Design of Trends
- jQuery实现自定义样式的弹出窗口和确认框
- jquery动态生成html代码绑定事件
- JQuery操作textarea,input,select,checkbox方法
- jQuery实现固定在网页顶部的菜单效果代码
- jquery实现华丽的可折角广告代码