II在这里有一些代码http://jsfiddle.net/ggHwH/,每次按下UP按钮时,框边框增加1px,每按一次DOWN按钮,边框减少1px。现在我想感觉双击向下按钮,并将边框立即减少到0.我遇到的问题是,如果你试图一次点击边框一个px,你可以' t帮助但触发双击,即使您单击向下按钮的速度不超过每秒约一次。似乎我应该在不到250ms的时间内完成两次点击以触发双击。有谁知道发生了什么事?
感谢。
$('#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'});
});
答案 0 :(得分:3)
将dblclick
与click
混合在一起并不是一个好的实践。
但是,对于您的问题,您可以创建自己"拥有" dblclick
。你只需要添加2 var:
var isDbl = false;
var timer = null;
然后你的click
函数将设置一个250毫秒的计时器并具有条件:
$('#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
}
});