2012-06-24 3 views
0

WordPress의 단축키 기능을 사용하여 프로젝트 내에서 키보드 탐색 기능을 만들고 있습니다. 키보드 기능이 작동하고는 있지만 어떤 이유로 이전 프로젝트로 이동하지 않고 다음 프로젝트로 스크롤합니다. 물리적으로 마우스를 사용하여 화살표를 클릭하면 모든 것이 잘 작동하지만 키보드를 사용할 때 어떤 이유로 작동하지 않습니다. 여기 WordPress 다음 jQuery 단축키

이는이 방법으로 키를 할당 할 수 없습니다 내 JS 코드

$(document).ready(function() { 

    // This uses the Hotkeys jQuery plugin. See below for 
    // the native jQuery alternative. 
    $(document).bind('keydown', 'left', function() { 
     var url = $('#left_arrow a').attr('href'); 
     if (url) { 
      window.location = url; 
     } 
    }); 
    $(document).bind('keydown', 'right', function() { 
     var url = $('#right_arrow a').attr('href'); 
     if (url) { 
      window.location = url; 
     } 
    }); 

}); 

답변

0

하는 프로젝트

http://geoffgeoff.com/dialect-skateboards-identity/

에 대한 링크입니다. 실제로 두 함수를 global-keydown-event에 바인딩하고 있습니다. 두 번째 함수는 첫 번째 함수를 덮어 씁니다. 귀하의 사이트를 방문하는 동안 어떤 열쇠를 밀어보십시오 - 모든 열쇠는 다음 기사를로드합니다.

$(document).bind('keydown', function (evnt) { 

    var elem = evnt.keyCode === 37 // left arrow 
     ? '#left_arrow a' 
     : evnt.keyCode === 39 // right arrow 
     ? '#right_arrow a' 
     : false; 

    if (!elem) { 
     return; 
    } 

    $(elem).trigger('click'); 

}); 

keyCode를 37의 경우, 왼쪽 화살표를 누른 키 코드가있는 경우 :

적당한 방법은 함수 내부 눌려진 키를 감지하고 올바른 앵커 요소에 클릭을 트리거 할 것이다 오른쪽 화살표가 눌러 진 39입니다. 삼항 연산자를 사용하여 왼쪽이나 오른쪽을 클릭하지 않은 경우 elem- 변수에 false를 지정할 수 있습니다. 이 경우 함수는 false를 반환하고 아무 일도 일어나지 않습니다.

그렇지 않으면 왼쪽 또는 오른쪽 앵커의 클릭 이벤트가 발생합니다.

+0

감사! 나는 그것을 시도 할 것이다! 도와 주셔서 감사합니다! – Geoff