2013-06-27 2 views
0

몸체가로드되면 JS를 약간 실행하고 싶습니다. 내 프레임 워크는 정적 인 두 개의 다른 파일에서 머리글/바닥 글을로드하고 본문은 동적입니다. 따라서 온라인으로 읽으면 $ (elem) .load (function())을 본문 끝 부분에 배치 할 수 있으며 페이지를로드하면 함수가 실행됩니까? 나는 이것을 간략하게했지만 작동하지 않는 것 같습니다.몸체가로드 된 후 jQuery가 실행됩니다.

{%include file='/var/www/include/tpl/header.tpl'%} 
<div id="contentMain"> 
     <h1>{%$heading%}</h1> 
     {%if isset($Details)%} 
       <h4>Details</h4> 
       {%$Details%} 
     {%/if%} 
     {%$table%} 
</div> 
<div id="space"> 
&nbsp; 
</div> 
<script> 
     $("#contentMain").load(function(){ 
       alert("It worked!"); 
       //run some stuff here 
     }); 
</script> 
{%include file='/var/www/include/tpl/footer.tpl'%} 

이 기능을 사용하는 방법에 대한 도움은 매우 감사하겠습니다.

+0

은''이없는로드 이벤트. 대신 창로드 이벤트를 사용해보십시오. 그러나 귀하의 경우에는 요소가 준비 될 때까지 코드가 실행되지 않으므로 전혀 기다릴 필요가 없습니다. –

+0

document.ready? 문서가로드 된 후로드됩니까? – Sakthivel

답변

0

귀하의 경우 스크립트의 위치 때문에 기다릴 필요가 없습니다. 위의 요소가 파싱 될 때까지 스크립트는 파싱/실행되지 않습니다. 따라서 contentMain div를 가정하면 하위 항목을 조작 할 준비가 된 것입니다.

{%include file='/var/www/include/tpl/header.tpl'%} 
<div id="contentMain"> 
     <h1>{%$heading%}</h1> 
     {%if isset($Details)%} 
       <h4>Details</h4> 
       {%$Details%} 
     {%/if%} 
     {%$table%} 
</div> 
<div id="space"> 
&nbsp; 
</div> 
<script> 
    alert("It worked!"); 
    //run some stuff here 
</script> 
{%include file='/var/www/include/tpl/footer.tpl'%} 
3

jQuery에는 본문이로드 된 후 문서를 첨부하여 기능을 실행할 수있는 편리한 기능이 있습니다. ready 함수입니다.

이렇게하면 함수 내부의 모든 항목이 실행되기 전에 본문과 모든 내용이로드되었는지 확인할 수 있습니다.

+0

에 다른 비트와 조각을 준비 기능이 있습니다. 그것은 정적 템플릿으로로드됩니다. 실제로 JS가 변경하지 않는 콘텐츠가 동적 인 모든 단일 페이지에 적용하고 싶지는 않습니다. 내가하고 싶은 것은 엘리먼트가로드 된 후에 또 다른 함수를로드 할 수 있다는 것이다. ready()를 두 번 이상 호출 할 수 있습니까? –

+0

@ user2518122 예, 무한대 호출 할 수 있습니다. DOM이 이미 준비되면 콜백이 즉시 호출됩니다. –

0

jquery의 document.ready를 사용하면됩니다.

머리글에 jquery reference 포함.

<script type="text/javascript"> 
    $(document).ready(function() { 
    alert("It worked!"); 
    }); 
</script> 
</head> 
관련 문제