2012-04-19 3 views
0

사용자가 주를 선택하고 해당 도시와 우편 번호를 선택하는 데 도움이되는 AJAX 시스템 설정이 있습니다.select 태그에서 이벤트를 변경하십시오. 크롬에서 이상하게 작동합니다.

문제는 .change() 이벤트가 크롬에서 작동하지 않습니다. 제가 마우스를 사용하고 일을하는 한 모든 것이 좋습니다. 그러나 키보드로 전환하면 죽습니다. .change() 이벤트는 키보드를 클릭 할 때마다 발생합니다.

동일한 스크립트가 Firefox에서 잘 작동합니다. 여기에서 일하는 마우스는 크롬과 같습니다. 그러나 키보드를 사용할 때 .change() 이벤트가 발생하지 않습니다. 흐려 지거나 키를 입력하면 입력이 트리거됩니다.

나는 크롬에 대한 해결책을 찾고있어, 파이어 폭스가 작동하는 것과 같은 방식으로 작동하기 시작했다.

아직 다른 브라우저를 테스트하지 않았습니다.

편집 :
내가 실수로 그들이 클릭하거나 아약스 다시 발사 될 값을 변경하지 않고 선택 태그를 건너 뛰면 때문은 일반 사용자에 대한 더 많은 고통을 것 같은 .blur() 또는 .click() 이벤트를 사용하고자 아닙니다.

내 코드가 모두 좋습니다.

$('#state').change(function(event) {}); 

이 줄은 변경 이벤트에서 작동하고 크롬에서 키보드를 사용할 때까지 작동합니다.

+2

코드를 게시하십시오. –

답변

1

당신은 change와 keypress 이벤트를 모두 묶어서 모든 브라우저에서 작동하게하는 이유는 무엇입니까? 따라서 익명이 아닌 콜백 함수를 정의하십시오.

function changeCallback(){} 

$("#state").change(changeCallback).keypress(changeCallback); 
+0

'.bind()'를 사용하여 둘 다 가질 수도 있습니다. –

+0

둘 다 가지고 싶지 않습니다. keydown 이벤트 일 경우 변경 이벤트가 트리거되지 않게하고 싶습니다. – abhig10

관련 문제