0

我在这里有一些代码http://jsfiddle.net/ggHwH/每次按下UP按钮时将框边框增加1px,每次按下DOWN按钮时将边框减小1px。现在我想感觉到双击向下按钮并立即将边框减小到 0。我遇到的问题是,如果您尝试一次单击一个 px 的边框,您可以即使您单击向下按钮的速度不超过每秒一次,也只能触发双击。看来我必须在不到 250 毫秒的时间内完成两次点击才能触发双击。有谁知道发生了什么?

谢谢。

   $('#up').click ( function() {
        $('#box').css({'border-top-width' : '+=1px', 'borderRightWidth' :    '+=1px','borderBottomWidth' : '+=1px','borderLeftWidth' : '+=1px'});
    });

$('#down').click ( function() {
    $('#box').css({'border-top-width' : '-=1px', 'borderRightWidth' : '-=1px','borderBottomWidth' : '-=1px','borderLeftWidth' : '-=1px'});
});

$('#down').dblclick ( function() {
    $('#box').css({'border-top-width' : '0px', 'borderRightWidth' : '0px','borderBottomWidth' : '0px','borderLeftWidth' : '0px'});
});
4

1 回答 1

3

dblclick混合并不是一个click好习惯。

但是,对于您的问题,您可以创建“自己的” dblclick。您只需要添加 2 var :

var isDbl = false;
var timer = null;

然后你的click函数将设置一个 250ms 的计时器并有一个条件:

$('#down').click ( function() {
    clearTimeout(timer)
    timer = setTimeout(function(){
        isDbl = false
    }, 250)
    if(isDbl){
        $('#box').css({'border-top-width' : '0px', 'borderRightWidth' : '0px','borderBottomWidth' : '0px','borderLeftWidth' : '0px'});
        isDbl = false;
    }else{
        $('#box').css({'border-top-width' : '-=1px', 'borderRightWidth' : '-=1px','borderBottomWidth' : '-=1px','borderLeftWidth' : '-=1px'});
    isDbl = true
    }
});

小提琴:http: //jsfiddle.net/ggHwH/4/

于 2013-05-26T03:07:30.407 回答