2011-09-02 5 views
1

드롭 다운에서 무언가를 선택한 후 여러 폼 필드를 표시하는 드롭 다운을 사용하고 있습니다. 변경을 감지하기 위해 jquery로 드롭 다운을 바인딩했지만, .change가 트리거되기 전에 상자가 '포커스를 잃어 버려야합니다'. 이 문제를 해결할 방법이 있습니까? 드롭 다운 목록에서 키보드의 위/아래 키를 사용할 때 변경 이벤트를 트리거하려면Jquery .change() 이벤트로 선택 상자에서 포커스 제거

$("#EmployeeSelected").change(function() { 
     alert('hi'); 
    }); 

답변

0

적어도 기존의 변경으로 인해 초점을 잃을 필요는없는 것처럼 보입니다. 다른 형태의 변경, 즉 키 입력을 사용하는 경우 추가 이벤트를 바인딩하는 것이 좋습니다.

전통적인 감각으로 선택하는 한 (옵션을 클릭하면)입니다. 당신이 다른 방법을 사용하는 경우, 는 키보드 입력, 당신은 그것에 적절한 이벤트를 바인딩과 같은 keypress, keydown

Working Demo

가 필요합니다
0

당신은 keypresskeydown 이벤트와 후크 수 있습니다. 화살표가있는 드롭 다운 옵션을 순환하면서 change 이벤트를 트리거하는 IE에 버그가 있지만 이것이 기본 동작이 아니며 위험합니다. 이 동작은 변경 이벤트가 위/아래 키를 사용하여 트리거되지 않은 경우 다른 브라우저에서 동일하지 않습니다.