2009-07-31 3 views
0

왼쪽 화살표가 탭 버튼처럼 동작하도록 설정하고 (포커스를 다음 포커스 가능 항목으로 설정), 오른쪽 화살표는 shift + tab (포커스 설정 이전 포커스 가능 항목으로)?왼쪽 화살표와 오른쪽 화살표 (HTML + JS)를 사용하여 포커스 설정

$().keypress(function(e) { 
    if (e.keyCode == 37) { 
     alert('I want to do a shift-tab'); 
    } 
    else if (e.keyCode == 39) { 
     alert('I want to do a tab'); 
    } 
}); 

을하지만 구글은 도움이 그래서 내가 좀 더 구글 동안 내가 여기에 빠른 게시물을 올려 줄 알았는데 것을하지 않을 :

내가 여기까지 왔.

감사합니다.

아, 순전히 FF3.0이므로 다른 브라우저의 불편 함을 걱정할 필요가 없습니다.

답변

5

당신이 지금까지 가지고있는 것은 괜찮습니다.

당신은 '포커스'항목의 목록을 유지하고 단지 현재에 대한 포인터를 유지하는 목록을 반복 할 수 있습니다 :

// or $('input')..depends what you want to focus on 
var nodes = $('.focusable'), idx = -1; 
$().keypress(function(e) { 
    if (e.keyCode === 37) { 
    nodes.get(++idx).focus(); 
    } 
    else if (e.keyCode === 39) { 
     nodes.get(--idx).focus(); 
    } 
}); 

이 비록 단지 대략적인 윤곽이다. 초점을 맞출 수있는 요소 배열의 시작이나 끝을 지나치지 않게하려면 무언가를하기 전에 idx을 확인해야합니다. 또한 사용자가 텍스트 상자 안에있을 때 이것을 호출 할 때주의해야합니다.

관련 문제