2012-03-14 1 views
3

시간 초과를 사용하지 않고 jQuery를 사용하여 곧 생성 될 비디오 태그를 확인하려고합니다. 우리가 비디오 태그를 찾고있을 때 아직 존재하지 않습니다. 내가로드 전체 창을 기다리는 window.load를 사용할 수jQuery :로드 할 요소 (비디오 태그 - 동적 생성 됨)가 대기합니다.

, 다음 콜백 함수를 호출 :

window.load = function() {player = jQuery("#videoid"; } 

을하지만 몸에로드 삽입 특정 비디오 태그/때까지 "대기"로 어쨌든이 그런 다음 콜백 함수를 실행 하시겠습니까? 같은 : 사전

답변

9

에서

jQuery("#videoid").bind('load', function() { player = jQuery("#videoid"); }) 

덕분에 당신은 이벤트 핸들러가 실행 삽입 그래서 요소의 DOMNodeInserted 이벤트에 바인딩을 위임 할 수 있습니다. 이것은 IE8 이상에서 작동,하지만 둘 <video> 태그를하지 않습니다 $(<root element>).on(<event>, <selector>, <event handler>)$(<root element>).delegate(<selector>, <event>, <event handler>)과 동일

jQuery(document).delegate('video', 'DOMNodeInserted', function() { 
    alert('Wana watch a video?'); 
}); 

하는 것으로. http://jsfiddle.net/vW4Pg/

UPDATE이 아이디어를 실행에 관심이 있다면, 이것 좀보세요해야합니다

: 여기

는 데모 인 코멘트 https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events

감사합니다 @ JFK.

+0

간단하게 축하해주세요! 나는 몇 시간 동안이 DOMNodeInserted를 찾고있었습니다! 재스퍼, 고마워. 또한 ".on"메모에 감사드립니다. – RoundOutTooSoon

+0

@SimpleCode 도와 드릴 수있어서 기쁩니다. 도움이되는 답변을 찾았고 귀하의 질문에 올바르게 답변했다면 답변을 수락 된 답변으로 표시하면 감사하겠습니다. – Jasper

+2

누군가가이 (오래된) 답변을 발견 할 경우 https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events를 염두에 두어야합니다. – JFK