jQuery 1.12를 사용하고 있습니다. 포커스가있을 때 DIV가 주요 프레스 (특히 화살표 위로)를 캡처하기를 원합니다. 그래서 나는 이것을 따라 갔다.내 DIV에 포커스가있을 때 키 누르기 이벤트를 캡처하지 않는 이유는 무엇입니까?
$('div.select-styled').bind('keydown', function(event) {
console.log(event.keyCode);
elt = $(this).search(".select-options li:hover");
console.log(elt);
switch(event.keyCode){
// case up
case 38:
console.log(“up pressed.”)
break;
case 40:
console.log(“down pressed”)
break;
}
});
그러나 이것은 키 누름을 포착하지 못한다. 나의 피들을 여기에서보십시오 - http://jsfiddle.net/cwzjL2uw/10/. "Select State"메뉴를 클릭하거나 "성"필드를 클릭하고 "Tab"을 클릭하여 다음 DIV에 집중하십시오. 그러나 해당 메뉴에 포커스가있는 경우 키를 클릭해도 위의 핸들러가 활성화되지 않습니다. 적어도 Mac Chrome이나 Firefox에서는 나에게 해당되지 않습니다. 이 자바 스크립트 키보드 이벤트를 수신 할 수 있습니다 : -
어떤 도움 주셔서 감사,
이 유일한 작품이다 - .select'는 부모가 아니라 단지'때문에 . 'tabindex'를 제거하면 문제가 다시 발생합니다. –
나는 그것을 발견하고 초점을 받고있는 이유입니다. 나는 영업 이익은 바인딩이 포커스를하지 않은 것처럼'div.select-styled'에 거 일이 아니라는 것을 알려 드리고자합니다. 그래서 제 제안은'.select' 요소에 바인딩하는 것입니다. @JonUleis –