Jul8

避免onDbClick事件触发时不触发onClick事件

Author: leeon  Click: 6615   Date: 2010.07.08 @ 11:17:11 am Category: javascript

避免触发ondbclick的时候触发onclick,可以利用javascript延迟的机制来实现。

思路如下:

 1、声明一个全局的计时器变量如:clickTimer
 2、在代理单击事件里设置计时器,默认220毫秒之后触发真正的单击事件处理函数
 3、在双击事件里判断计时器变量,如果该变量不为NULL,则说明在触发该双击事件前触发了单击事件,取消计时器,因为真正的单击事件处理函数在220毫秒之后才会触发,所以在这个时候结束定时器,则真正单击事件处理函数不会被执行。


var timerClick=null;
//单击事件代理
function _onNodeClick(id){
//onNodeClick才是真正的单击事件处理函数
timerClick=window.setTimeout("onNodeClick('"+id+"')",220);
}
//双击事件处理函数
function _onNodeDbClick(id){
if(timerClick){
window.clearTimeout(timerClick);
}
}



TAG:   ondbclick onclick

    评论
    • 提交

    分类

    标签

    归档

    最新评论

    Abyss在00:04:28评论了
    Linux中ramdisk,tmpfs,ramfs的介绍与性能测试
    shallwe99在10:21:17评论了
    【原创】如何在微信小程序开发中正确的使用vant ui组件
    默一在09:04:53评论了
    Berkeley DB 由浅入深【转自架构师杨建】
    Memory在14:09:22评论了
    【原创】最佳PHP框架选择(phalcon,yaf,laravel,thinkphp,yii)
    leo在17:57:04评论了
    shell中使用while循环ssh的注意事项

    我看过的书

    链接

    其他

    访问本站种子 本站平均热度:8823 c° 本站链接数:1 个 本站标签数:464 个 本站被评论次数:94 次