한 번의 클릭으로 하나의 기능을 실행하고 두 번 클릭하면 다른 기능을 실행해야합니다. 내가 직면하는 문제는 먼저 두 번 클릭하지 않고도 두 번 클릭 이벤트를 가질 수 없다는 사실 때문입니다. 우리가 더블 클릭을 할 때마다 더블 클릭 기능 만이 싱글 클릭 기능을 실행하지 않아야합니다. 아래는 지금까지 내가 해왔 던 일입니다. 아래 코드가 항상 완벽하게 작동하지 않기 때문에 더 좋은 방법이 있는지 제안하십시오.은 한 번의 클릭 또는 두 번 클릭을 실행합니다. 둘 다 아니야
HTML
<div class='box'>
JS :
var dblclick = false;
//single click function
$('div.box').on('click',function(){
setTimeout(function(){
if(!dblclick){
console.log('singleClick');
}
},200);
});
//resetting double click flag
$('div.box').on('click',function(){
setTimeout(function(){
dblclick = false;
},400);
});
//double click function
$('div.box').on('dblclick',function(){
dblclick = true;
console.log('doubleClick')
});
CSS : 같은 당신이 한 시간 제한으로 쉽게 할 수 있다고 생각
div.box {
height: 100px;
width: 100px;
border: 1px solid black;
}
사용자 경험의 관점에서 들린다. 나는 더블 클릭으로 전혀 다른 일을하는 하나의 응용 프로그램을 생각하려고하는데, 그럴 수 없다. 누군가 두 번 클릭 속도를 낮게 또는 높게 설정하면 어떻게됩니까? 당신의 타임 아웃에서 더블 클릭 속도를 가정하면 아마 문제 일 것입니다. 아마 당신이 성취하고자하는 것을 게시한다면 대체 솔루션을 얻을 수 있습니다. –
내 웹 사이트에 이미지를 배치하고 방문자가 이미지의 다른 영역에 대해 좋아요 및 싫어하는 댓글을달라고 요청한다고 가정합니다. 이미지를 한 번 클릭하면 녹색 배경의 상자가 열리고 클릭 한 영역에서 좋아하는 것을 입력 할 수 있습니다. 두 번 클릭하면 빨간색 배경의 상자가 열리고 싫어하는 내용을 입력 할 수 있습니다. – Triven
@LeeWillis 예를 들어 Windows를 살펴 보겠습니다. 기본 설정에서 한 번의 클릭으로 열기/실행을 두 번 클릭하여 선택합니다. 그러나 OP 문제와 마찬가지로 실제로 두 가지 작업을 수행하고 먼저 두 번 클릭하여 선택하고 실행하십시오. – frikinside