2010-06-30 3 views
1

페이지가로드 될 때 선택되도록 설정된 체크 박스가있는 페이지가 있습니다. 확인란을 선택하지 않으면 기능을 실행해야합니다. 다음 코드는 IE를 제외한 모든 브라우저에서 정상적으로 작동합니다. 버전 7과 8 (6도 테스트하지 않은)에서는 작동하지만 선택을 취소하고 확인한 다음 두 번째 선택을 취소하면 기능이 실행됩니다. jQuery 문서는 다음과 같이 말합니다. "jQuery 1.4에서 변경 이벤트는 이제 거품을 일으키고 Internet Explorer의 다른 모든 브라우저와 동일하게 작동합니다 ..."그러나 작동하지 않는 것 같습니다. 어떤 아이디어? jQuery 1.4 change(), checkbox 및 IE

코드는 : 당신이 이벤트 버블 링을 중지하려면

$('#checkbox').change(function() { 
    // do something 
}); 
+1

당신이 사용하고

IE에서이 change 이벤트, change 버블 링 (많은 사람들에게 큰 하나), 그리고 많은 더이 릴리스에서 수정 된, 업그레이드가 문제를 :) 해결할 1.4.0, 1.4.1, 또는 1.4.2? 'change' 이벤트는 1.4.2에서 큰 사랑을 얻었습니다. –

+0

@Nick 어떤 종류의 * 사랑 *을 얻었습니까? : P – alex

+0

@alex -이 커밋은 큰 것이 었습니다 : http://github.com/jquery/jquery/commit/5267824aa36f0fcecb944a4daf0b99d6e01460fd 그러나 1.4.2의 이벤트에도 참여한 6 명의 다른 사람들이 있습니다 : http : /github.com/jquery/jquery/commits/1.4.2/src/event.js –

답변

1

,

$('#checkbox').change(function(event) { 
    event.stopPropagation(); 
    // do something 
}); 

은 아마 당신은 또한

if ($.browser.msie) { 
    $('#checkbox').click(function() { // assuming this will be fired for keyboard as well 

     $(this).change(); 
    }); 

}; 

같은 것을 할 수있는 사용이 을 강제 할 수있다 행사.