몇 개의 jQuery Chosen 드롭 다운이있는 div (id = div_search_fields)가 있습니다. div에 첨부 된 키 누르기 수신기가 있습니다. 입력 한 키가 Enter 키이면 숨겨진 제출 단추를 클릭하여 선택한 항목을 제출합니다.Jquery Chosen - keypress 캡처 방지
$("#div_search_fields").keypress(function(e) {
if (e.which == 13) {
$("#hiddenSubmitButton").click();
}
});
선택한 드롭 다운 중 하나에서 방금 옵션을 선택한 경우 어떤 이유로이 수신기는 호출되지 않습니다. "div_search_fields"DIV 안에는 간단한 텍스트 입력 상자도 있습니다. 텍스트를 입력 한 다음 Enter 키를 누르면 리스너가 예상대로 트리거됩니다.
이것은 Chosen 드롭 다운에 초점을 맞춰야 만 할 것입니다. 그러나 나는 그 이유를 알 수 없습니까? 어떤 아이디어?
나는 단지 Enter 키를 눌러 지정된 div 내의 내용이 변경된 경우에만 submit을 실행하기를 원합니다. (두 개의 div가 있고 각각 자신의 제출 버튼이있어서 각 div에 Enter 키 누르기를 듣는 별도의 수신기가 있습니다. 적절한 제출 버튼). 방금 표준 HTML 요소 (드롭 다운, 텍스트 입력)가 있으면 잘 작동합니다. JQuery Chosen을 사용하여 드롭 다운 상자를 초기화 할 때 중단됩니다. 위의 예에서 선택한 JQuery를 사용하는 것처럼 보이지 않습니까? –
예하 당신이 맞습니다. 내가 선택한 JQuery를 사용하지 않았습니다. 나는 현재 그것을보고있다. 바라기를 나는 해결책을 얻을 수 있었다. 현재 나는 Jquery가 keypress 이벤트에서 e.preventDefault()를 사용하여 ur 코드를 실행할 수 없다는 것을 알 수 있습니다. 목표를 달성하기 위해 무시할 수있는 기능이 있어야합니다. – PRP
네 말이 맞다! Chosen javascript의 keydown_checker 함수는 키 누르기를 캡처하고 기본값을 방지합니다. 나는 그 라인을 밖으로 모든 작품은 아름답게 주석! 위의 게시물을 편집하여 올바른 해결책으로 표시 할 것입니다 ... 감사합니다. –