2009-10-31 3 views
15

iframe 내부의 요소에 click 이벤트 핸들러를 연결하려면 어떻게해야합니까?jQuery를 사용하여 iframe 내부의 요소에도 클릭 핸들러를 첨부하십시오.

는 여기에 내가 시도하고 작동하지 않는 내용은 다음과 같습니다

$("#parent iframe").contents().find("a").live("click", function() { 
    alert ("test"); 
    return false; 
}); 

iframe이 같은 도메인에 있습니다.

+1

기본 페이지와 iframe이 동일한 도메인에서 온 경우 코드가 작동합니다. –

답변

11

발견 된 문제. LIVE는 iframe 내에서 작동하지 않습니다. 바인드로 전환하면 문제가 없습니다. 대신 수동 이벤트 위임을 수행합니다.

+1

다른 창에서 살고있는 jQuery의 복사본을 사용하여 하나의 창/프레임을 스크립팅하려고하는 유일한 문제는 아닙니다. 복잡한 작업이라면 두 프레임에 jQuery 복사본을로드해야합니다. jQuery는 크로스 윈도우 스크립팅 (본질적으로 더 복잡하고 jQuery이든 아니든)이 아닌 편리한 단일 윈도우 스크립팅에 최적화되어 있습니다. – bobince

0

기본적으로 콘텐츠는 다른 도메인 (일반적으로 iFrames 사용)의 콘텐츠 일 가능성이 높습니다.

iframes and cross domain security 또는 Cross-Domain Ajax Insecurity

(당신이 그것을 제어 할 수있는 경우) 당신은 iframe에 소스 코드를 수정해야합니다 또는 당신이 그들의 브라우저 보안을 줄이기 위해 사용자를 요청할 수 있습니다 (가능한 수 있습니다 :이 기사는 이유를 설명 인트라넷에 있지만 좋은 아이디어는 아닙니다.)

+0

그것은 동일한 도메인에 있습니다.하지만 작동 해 주셔서 감사합니다. 다시 살펴 보겠습니다. – Jourkey

관련 문제