예를 들어 상위 창은 이벤트를 정의합니다.
상단:
$(dom1).bind('topEvent', function(){});
그렇다면 iframe의 요소는 어떻게 상위 창 dom1의 이벤트를 트리거합니까? 그렇습니까?
$(dom1, parent.document).trigger('topEvent');
맞는 것 같지만 실제로는 오해의 소지가 있습니다.
상위 창의 jquery 객체와 iframe의 jquery 객체는 실제로 두 개의 객체(함수)이기 때문에 iframe의 jquery는 다른 jquery 객체에 의해 정의된 이벤트를 트리거하지 않습니다. iframe에서 다음과 같이 정의하지 않는 한:
iframe:
self.$ = parent.$;
해결책은 간단합니다.
parent.$(dom1,parent.doucment).trigger('topEvent');
이벤트를 실행하려면 상위 jquery를 호출하기만 하면 됩니다.
iframe은 더 이상 jquery 파일을 가져올 필요가 없다고 합니다. 이는 단지 상위 창과 동일한 jquery를 공유할 수 있다는 것입니다. 이는 매우 환경 친화적입니다.