2013-05-03 4 views
0

안녕하세요, 내 jquery 아약스 엔진에 대한 클릭 두 번 클릭 이벤트 처리기에서 일하고 있습니다. 단추를 클릭하거나 두 번 클릭 할 수 있습니다. 나는이 글을 직접 썼지 만 왜 그것이 효과가 없는지 알지 못한다.내 클릭 두 번 클릭 이벤트 작동 만들기

$('body').on('click', '.double-click', function() { 
    var that = this; 
    var dblclick = $(that).data('clicks'); 
    if(!dblclick){ 
     dblclick = 0; 
    } 
    dblclick = dblclick + 1; 
    $(that).data('clicks', dblclick); 
    dblclick = $(that).data('clicks'); 
    console.log('click - ' + dblclick); 

    if(dblclick > 1){ 
     $(this).data('clicks', 0); 
     //ajaxloader(this, 1); 
     alert('dubbel-klik'); 
     console.log('dubbelcik event'); 
    } 

    setTimeout(function() { 
     if(dblclick == 1){ 
      $(that).data('clicks', 0); 
      //ajaxloader(this, 0); 
      alert('klik'); 
      console.log('single click event'); 
     } 
    }, 400); 
}); 

그것은 어쩌면 복잡 통해 조금 보이지만, 나는 몇 가지 물건을 시도 때문이다 :

는 코드입니다. 내가 가지고있는 문제는 더블 클릭을 한 번 클릭하면 싱글 클릭 또한 실행됩니다. $(this).data('clicks', 0);으로 재설정하면 어떻게 가능합니까? 그런 다음 카운터는 0이어야하며 timeout의 if 문은 false 여야합니다.

누군가가 잘못 알고 있습니다!? 당신은이과 복잡함을하고 click the click en dubbelclick button

답변

2

:

O 예는 여기에 작동하는 데모를 참조하십시오.

$('body').on('click', function(){ 
    alert("single click") 
}); 
$('body').on('dblclick', function(){ 
    alert("double click"); 
}); 

이것은 또한 비록 하나를 클릭합니다 : jQuery를이 내장을 모두 가지고 Javascript with jQuery: Click and double click on same element, different effect, one disables the other

+0

나는 거의들을 수 있습니다 : 당신은 당신이 그것을 방지하기 위해 무엇을 할 수 있는지 확인이 스레드를 체크 아웃 할 수 있습니다 곧 나오는 이마가 때리고 ... – Madbreaks

+0

나는 같은 요소에 두 가지를 사용하고 싶다. 그게 효과가 없으므로 제가 스크립트를 작성한 이유입니다. 그런데 당신이 나에게주는 링크 뒤에있는 스크립트와 비교하면 복잡합니다. – botenvouwer

+0

글쎄, 당신은 그 스크립트를 볼 수 있습니다. 그들이 일하면서 거기에서 답을 찾을 수 있습니다. 여기서 대답을 복사 할 수는 있지만 해결 방법을 살펴 보는 것이 좋습니다. – Kenneth