NTP网络时间服务器
2015-08-05 11:29
549 查看
一:原理:
先看一下点击事件的执行顺序:
单击(click):mousedown,mouseout,click;
双击(dblclick):mousedown,mouseout,click , mousedown,mouseout,click,dblclick;
在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。也就是说双击事件(dblclick)会返回一次单击事件(click)结果和一次双击事件(dblclick) 结果。而不是一次双击事件(dblclick)结果和两次单击事件结果(click)。
如此这般的话,只需消灭掉多余的一次单击事件(click),这个问题就解决了。
setTimeout
二:代码:
Jquery实现:
Js实现:
先看一下点击事件的执行顺序:
单击(click):mousedown,mouseout,click;
双击(dblclick):mousedown,mouseout,click , mousedown,mouseout,click,dblclick;
在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。也就是说双击事件(dblclick)会返回一次单击事件(click)结果和一次双击事件(dblclick) 结果。而不是一次双击事件(dblclick)结果和两次单击事件结果(click)。
如此这般的话,只需消灭掉多余的一次单击事件(click),这个问题就解决了。
setTimeout
二:代码:
Jquery实现:
//定义setTimeout执行方法 var TimeFn = null; $('div').click(function () { // 取消上次延时未执行的方法 clearTimeout(TimeFn); //执行延时 TimeFn = setTimeout(function(){ //do function在此处写单击事件要执行的代码 },300); }); $('div').dblclick(functin () { // 取消上次延时未执行的方法 clearTimeout(TimeFn); //双击事件的执行代码 })
Js实现:
<input type="button" onclick="aa()" ondblclick="bb()" value="点我"> <script language="javascript"> var isdb; function aa(){ isdb=false; window.setTimeout(cc, 500) function cc(){ if(isdb!=false)return; alert("单击") } } function bb(){ isdb=true; alert("双击") } </script>
相关文章推荐
- http缓存
- 常见HTTP状态
- 教你突破基于HTTP_REFERER的防盗链的方法
- httpclient post请求例子(无参数名与带参数名的例子),多线程并发处理
- nodejs 原生代码实现http 服务器和客户端并交互
- HTTP Referer简介
- TCP协议滑动窗口机制
- 转发:神经网络BP算法简单推导
- 数据中心TCP优化:同时满足低时延和高吞吐量
- Android 实时监听网络状态
- netstat统计tcp状态数量
- http 协议的chunck概念
- casperjs模拟登陆https页面获取当前面地址后发现为about:blank问题排查
- TCp拥塞控制机制
- 在IIS中使用SSL配置HTTPS网站
- php笔记06:http响应中的状态码
- 调用图灵机器人接口的问题
- 以太网数据包、IP包、TCP/UDP 包的结构(转)
- URLConnection和HTTPClient的比较
- [转]浏览器的工作原理:新式网络浏览器幕后揭秘