2010-12-05 5 views

답변

2
var click_allowed = true; 
$('#element').dblclick(function(e){ 
    if (!click_allowed) return; 
    console.log("event"); 
    click_allowed = false; 
    window.setTimeout(function() { 
    click_allowed = true; 
    }, 1000); 
} 
+1

'TRUE'와' false'는 소문자로 작성해야합니다. 그렇지 않으면 참조 오류가 발생합니다. – jAndy

+0

저에게 알려 주셔서 고맙습니다. 고쳤다. – PeeHaa

0
var lastClick = 0; 
$('#element').dblclick(function(e){ 
    var time = (new Date()).getTime(); 
    if(time > lastClick + 1000) { 
    lastClick = time; 
    console.log("event"); 
    } 
} 
2

(live demo을) 당신은 당신의 이벤트 핸들러가 한 번만 실행되도록하기 위해 .one을 사용할 수 있습니다, 그리고 당신은 한 번에 충분한 시간이 경과 바인딩 할 수 있습니다

function dblclickHandler(e){ 
    console.log("event"); 
    setTimeout(setHandler, 1000); 
} 

function setHandler() { 
    $('#element').one('dblclick', dblclickHandler); 
} 

setHandler(); 
관련 문제