2012-02-01 1 views
0

onChange()과 관련된 문제가 있으며 랩핑 된 레이블에 의해 트리거되어야하는 라디오 버튼 모양이 클릭되었습니다.IE <9 이벤트를 보이지 않는 라디오에 바인딩

다음 CSS가 라디오 버튼에 적용될 때 onChange() 핸들러가 IE8, IE7에서 활성화되지 않습니다.

#questionFrm input[type="radio"] { 
    display:none; 
} 

내가 시도한 또 다른 방법은 드롭 다운 메뉴의 작동 방식과 마찬가지로 화면에서 양식 요소를 이동하는 것입니다. 그러나 Firefox는 라디오 버튼을 화면 밖으로 이동하는 것을 거부합니다.

#questionFrm input[type="radio"] { 
    position:absolute; 
    top:-99;left:-99; 
} 

라디오는 꽤 숨겨져 있지만 작동하지 않습니다 - http://jsfiddle.net/fHTwr/

라디오는 표시, 추한하지만 작품 - 온 클릭을 사용해보십시오 http://jsfiddle.net/fHTwr/1/

+0

계시 모듈 패턴과 어떤 관련이 있습니까? – blockhead

+0

도움이 될지 확신 할 수 없지만 [EcmaScript 5 shim] (https://github.com/kriskowal/es5-shim) 또는 다른 [fallback 메커니즘] (https : // github .com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills)? – blong

+0

음, 아무 것도. 내가 그 질문에 관련이 없기 때문에 아마 그걸 버렸어 야했다. 나는 폼 요소를 숨기고 라벨에서 제어하기를 원한다. 그리고 내가 생각할 수있는 두 가지 접근법은 다른 브라우저에서 문제가있다. – Tank

답변

0

() 첫째, 당신이 뭔가를 할 수 작동하지 않을 경우 이렇게하면 :

<html> 
    <head> 
    <script> 
var currVal = 0; 
function changeIt() { 
    document.getElementById('changeMe').value = currVal++; 
    document.getElementById('changeMe').onchange(); 
} 
function handle_change(elem) { 
    alert(elem.value); 
} 

    </script> 
    </head> 
    <body> 

<input type="button" onclick="changeIt()" value="Change It"/> 
<input id="changeMe" type="text" value="" style="display: none;" onchange="handle_change(this)"/> 

    </body> 
</html>