2011-07-04 9 views
0

jquery float box 플러그인이 있습니다. 문서가로드되고 버튼을 누르면 ajaxcall이 상자 #floating-box을 구문 분석하는 box.php를 트리거합니다 (이 상자는 이제부터 alla 페이지에 표시됩니다). 문제는 $(document).ready(function(){.. 안에있는 스크립트가 상자를 찾지 못한다는 것입니다. 나는 초보자이지만 어떤 종류의 live 솔루션으로 해결할 수 있다고 생각합니다. 누군가 올바른 방향으로 나를 안내 할 수 있습니까?ajax 호출을했을 때 jquery 스크립트를 다시 실행하십시오.

jquery 스크립트의 시작. 스크립트가 작동하므로 전체 스크립트 자체가 관심사가 아닙니다. 대신 box.php가 상자를 구문 분석 할 때 #floating-box을 파싱했지만 상자가 모든 페이지에 나타나기 때문에 모든 문서를로드 할 때 다시 실행하는 방법은 필요 없습니다. 그들도 떠 다닙니다.

var $floatingbox = $('#floating-box'); 

if($('#floating-container').length > 0){.. 
+0

내가 이렇게 실행 - 다시하지만 스크립트가 다른 사람 : – Joseph

답변

0
var url = "box.php"; 
    $("#id_of_button").click(function(){ 
     $("#id_of_result").load(url, null, function(){ 
       //put script here, it runs when ajax load is complete 
      }); ... 
+0

과 함께가 아니라 그 때마다 pageload에서 실행되지 않습니다 도착하는 box.php 내에서 스크립트를 넣어 하나 개의 솔루션을 발견 확인 . ajax로드는 상자를 추가 할 때 한 번만 사용하고 box.php는 PHP에 포함되어 있으며 부동 스크립트는 상자를 감지 할 수 있어야합니다 – Joseph

+0

var myfloatingboxfunc = function() {// stuff };'myfloatingboxfunc를 ajax와 document.ready의 콜백 둘 다에 넣으시겠습니까? 변수를 변경해야 할 경우를 대비해 함수를이 변수로 설정하는 것이 좋습니다. 한 곳에서만 수행하면됩니다. – mattygs

관련 문제