$('#element').dblclick(function(e){
console.log("event");
});
매우 빠른 클릭으로 요소를 클릭하면 여러 번 이벤트가 표시됩니다. 하지만 사용자가 계속해서 두 번 클릭하지 못하게하고 1 초 동안 건너 뛸 수있게하려면 어떻게해야합니까? 고맙습니다.계속 두 번 연속 클릭하지 않으려면 어떻게해야합니까?
$('#element').dblclick(function(e){
console.log("event");
});
매우 빠른 클릭으로 요소를 클릭하면 여러 번 이벤트가 표시됩니다. 하지만 사용자가 계속해서 두 번 클릭하지 못하게하고 1 초 동안 건너 뛸 수있게하려면 어떻게해야합니까? 고맙습니다.계속 두 번 연속 클릭하지 않으려면 어떻게해야합니까?
doTimeout plugin, 특히 debounce 기능 : http://benalman.com/code/projects/jquery-dotimeout/examples/debouncing/을 사용합니다. 내가 게시 한 두 번째 링크에서 첫 번째 예제를 사용해보십시오. 그런 다음 keyup
대신 더블 클릭으로 수정하십시오.
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);
}
var lastClick = 0;
$('#element').dblclick(function(e){
var time = (new Date()).getTime();
if(time > lastClick + 1000) {
lastClick = time;
console.log("event");
}
}
'TRUE'와' false'는 소문자로 작성해야합니다. 그렇지 않으면 참조 오류가 발생합니다. – jAndy
저에게 알려 주셔서 고맙습니다. 고쳤다. – PeeHaa