2011-02-15 8 views
4

jquery.hotkeys.js을 사용하는 두 개의 키보드 모드로 프로그램을 작성 중이지만 모든 keydown 이벤트의 바인딩을 해제 할 때 속도가 느려지고 깜박입니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? jQuery를 당신에게 이벤트에 대한 네임 스페이스를 만들 수있는 가능성을 제공많은 수의 이벤트를 바인딩하는 jQuery

function bindAll() { 
    //bind all keystroke events 
    $(document).bind('keydown','a', function(evt) { 
    //... 
    } 
    $(document).bind('keydown','b', function(evt) { 
    //... 
    } 
    //etc... 
} 

function unbindAll() { 
    $(document).unbind('keydown'); 
    return true; 
} //end unbinding all keystrokes 

답변

5

. 즉 보이는 같은 :

$(document).bind('keydown.mySpace', function(evt) { 
}); 
$(document).bind('keyup.mySpace', function(evt) { 
}); 

// etc. 

할 수 있습니다과 같이 다음 네임 스페이스에 추가 된 .unbind() 모든 이벤트 :

$(document).unbind('.mySpace'); 

난 당신이 언급 한 플러그인을 인식하지 해요,하지만 당신이 있어야한다 문서를 보거나 소스를 더 잘 살펴보십시오. 잘 설계 되었다면 jQuery 이벤트 네임 스페이스를 사용할 수 있어야한다.

+0

우수 팁, 감사합니다. –

관련 문제