日期:2014-05-16  浏览次数:20367 次

双击事件屏蔽一次单击事件
一个元素绑定了单击事件,但是在双击的时候执行了两次业务逻辑,这是不允许的,于是打算屏蔽掉一次单击事件,类似以下的做法:

//定义setTimeout执行方法
var TimeFn = null;

$('div').click(function () {
    // 取消上次延时未执行的方法
    clearTimeout(TimeFn);
    //执行延时
    TimeFn = setTimeout(function(){
        //do function在此处写单击事件要执行的代码
    },300);
});

$('div').dblclick(functin () {
     // 取消上次延时未执行的方法
    clearTimeout(TimeFn);
    //双击事件的执行代码
})


在火狐 和谷歌浏览器都成功实现了屏蔽掉一次单击事件,也就是双击的时候执行一次,但是在IE8中没效果,双击的时候不反应了,求各位指点一下啊!谢谢啦!在线等着~
javascript 单击 双击

------解决方案--------------------
$('div').dblclick(functin () {  
 functin 写错了 改成   
$('div').dblclick(function () {
------解决方案--------------------
要不试试event.stopPropagation();
------解决方案--------------------
这方法倒是没用过,用过ajax同步请求,第一次请求没成功第二次请求不会通过