2013-02-09 2 views
0

상황은 다음과 같습니다. 일부 링크가있는 index.php가 있습니다. 각 링크는 div에로드 할 다른 페이지 (예 : nicetry.html)를 가져옵니다. 로드되는이 페이지 (예 : nicetry.html)는 document.ready에서 일부 아약스를 실행하고 클릭 이벤트를 버튼에 바인딩해야합니다. (실제로 onclick 함수를 바인딩 할 때 실제로는 별 의미가 없습니다.) 이 버튼은 div의 내용을 새로 고침하여 nicetry.html의 document.ready를 트리거합니다. 코드에서 내부 HTML의 document.ready를 여러 번 새로 고침

...

의 index.php :

<script> 
    $("#nicetry").click(function(){ 
     $('#content').load('nicetry.html'); 
    }); 
</script> 
<body> 
<div id="nav"> 
<ul> 
    <li id="home"> <a href="#"> Home </a></li> 
    <li id="nicetry"> <a href="#"> nicetry </a></li> 
</ul> 
</div> 

<div id="content"></div> 
</body> 

nicetry.html

$(document).ready({ 

//some stuff 

$("#next").on("click", function() { 
    $("#content").load("nicetry.html"); 
}); 
}); 

이 후, 나는 "다음"버튼을 누르면 처음 작동이 div를 다시로드하지 않습니다. 버튼의 ID가 바뀌지 않았기 때문에 캐싱의 문제라고 추측하고있었습니다. URL에 아무 것도 캐싱하지 않고 메타 태그를 추가하려고 시도했지만 아무 것도 작동하지 않았습니다. 내가 잘못했기 때문에 또는 실제로 작동하지 않기 때문입니다.

나는 결국 document.ready에서 nicetry.html을로드하고 단순히 nicetry.html에서 location.reload (true)를 수행하여 index.php를 갖는 해결 방법을 구현했습니다. 그래도 더 나은 솔루션이 있는지 또는 왜 이것이 내가 생각하는 방식으로 작동하지 않는지 알고 싶습니다.

+0

있는지를 I 이것을 이해하면 #nicetry를 클릭하면 nicetry.html이 내용 div에로드됩니다. 이제 콘텐츠 div 내에 #next가 있고, 그것을 클릭하면 이미 nicetry.html을 div에 다시로드하고 싶습니다. – mToce

+0

@mToce 네, 그게 내가해야 할 일입니다. – Sphaso

+0

이미 nicetry.html을 로딩하는 것과 혼란 스럽습니다. "다음"버튼이 다른 무언가로 이동하지 않을까요? 실례에 URL을 게시 할 수 있습니까? – mToce

답변

0

왜 그렇게 오래 걸릴지 모르겠다. 내가 의심 할 때, 나는 내 자신의 광기와 미경험에서 너무 얽혀 있었다. 1.이 같은 지수의로드 결합 jQuery를 2의 비교적 최신 버전이 있는지 확인하십시오 : 여기

는 솔루션의

 $(document).on("click", "#next", 
      function() { 
        $("#content").load("nicetry.html"); 
      }); 

쉬운 :