jQuery를 스파클은 singleclick 사용자 정의 이벤트를 구현하여,이를위한 깨끗하고 우아한 솔루션을 제공합니다. 이렇게함으로써, 당신은 그래서, 다른 모든 이벤트처럼 사용할 수 있습니다
는
$('#el').singleclick(function(){});
// or event
$('#el').bind('singleclick', function(){});
또한 클릭 일련의 마지막과 첫 번째 클릭에 대한 사용자 정의 이벤트를 제공합니다. 그리고 lastclick 맞춤 이벤트는 실제 클릭 수를 다시 전달합니다! 그래서 당신은 이것을 할 수있었습니다!
$('#el').lastclick(function(event,clicks){
if (clicks === 3) alert('Tripple Click!');
});
당신은 적절한 데모 난 그냥 말한 것을 보여주는 찾을 수 here 권리와 사용자 정의 이벤트를 잘 here 정의를위한 소스 코드. AGPL 라이센스하에 오픈 소스이므로 무료로 걱정없이 자유롭게 사용할 수 있습니다! :-) 또한 하루 하루를 적극적으로 개발하므로 지원이 부족하지 않을 것입니다.
하지만 가장 중요한 것은 DRY 플러그인/효과 프레임 워크로 플러그인과 확장 프로그램을 훨씬 더 쉽게 개발할 수 있다는 것입니다. 그래서이 목표를 달성하는 데 도움이되기를 바랍니다! 다음 코드
$("#clickMe").click(function (e) {
var $this = $(this);
if ($this.hasClass('clicked')){
alert("Double click");
//here is your code for double click
return;
}else{
$this.addClass('clicked');
//your code for single click
setTimeout(function() {
$this.removeClass('clicked'); },500);
}//end of else
});
데모에서
감사를 간다. 특정 요소에 타이머를 어떻게 바인딩 할 것인가? 타이머가 어떤 요소를 트리거하고 있는지 어떻게 알 수 있습니까? 요소는 파일 트리의 파일 노드 및 디렉토리입니다. – vfclists
@vfclists, 당신은 요소에 타이머를 바인딩하는 방법을 내 대답을 볼 수 있습니다. – balupton
@Ferdinand Beyer, 작동하지 않습니다. 두 번 클릭하는 동안 'Double-Click'경고가 먼저오고 닫히기를 기다리는 'Click'경고가 나타납니다. – SexyBeast