2009-12-04 3 views
0

나는 간단한 DIV했다 :div에 대한 클릭 방법을 만드는 중, IE6에서 작동하지 않습니까?

<div id="foo"></div> 

을 나는 JQuery와

$("#foo").click(wow); 

function wow(){ 
    alert("Message"); 
} 

이 파이어 폭스/다른 사람에서 잘 작동하지만 IE6/IE7에서 작동하지 않습니다에에 클릭 방법을 추가? 왜? 이에 대한 구체적인 자료가 있습니까?

편집 : Div가 이미 dom에 있고 jQuery가 준비 상태로 실행되며 여전히 작동하지 않습니다.

+0

http://stefankendall.com/files/divTest.html –

+0

나는 당신을 위해 작동 예제를 만들었습니다. 그것은 IE6과 7에서 작동합니다. –

답변

1

div를 동적으로 만들면 작동하지 않으며 해당 코드가 $(document).ready()보다 먼저 실행되면 작동하지 않습니다.

동적 div를 작성하고 모든 jQuery 이벤트 바인딩을 문서 준비가 완료된 상태로 두 jQuery의 live 메커니즘을 사용하면 두 가지 문제점을 모두 해결할 수 있습니다.

클릭 핸들러 함수가 으로 정의되어 있는지 확인한 후에을 .click 메서드에 할당하십시오.

+1

그것은 준비된 블록 밖에 있거나 동적으로 생성 된 경우 다른 브라우저에서 작동해서는 안됩니다. –

+0

사실 전적으로 사실입니다. 준비된 블록 밖에 있다면 div가 준비되었거나 클릭 방법을 지정할 수있는 기회가 여전히 있습니다. 물건에 달렸어. 또한 div가 동적으로 생성되는 경우에 따라 달라집니다. 문서 준비가되지 않았지만 클릭이 할당되기 전에 문제가 발생하면 작동 할 수 있습니다. OP의 코드는 필자의 사전 요구 사항을 사용하여 IE6과 IE7 모두에서 작동합니다. 내 생각에 그는 이상한 IE 타이밍 문제가 위에 제시된 문제와 관련되어 있습니다. –

관련 문제