2011-07-03 3 views
1

왼쪽에 탐색 탭이 있고 오른쪽에 내용을로드하고 있습니다. 나는 라이브 사용하지만 어떻게 기능동적으로로드 된 내용에 많은 jquery 이벤트를 첨부하는 방법

$('#form').submit(function() { 
     $(this).ajaxSubmit(options); 
      return false; 
    }); 

$("#dialog-confirm").dialog({ 
          resizable: true, 
          autoOpen: false, 
          height:427, 
          width:650, 
          modal: true, 
          buttons: { "Ok": function() { $(this).dialog("close"); }, 
             "Cancel": function() { $(this).dialog("close"); } }, 
           }); 

의 이러한 유형을 첨부 할 수 있습니다하여 클릭 이벤트를 attched 한도 난 당신이 새로운 콘텐츠를로드 할 때뿐만 아니라

답변

1

ajaxoptions을 첨부해야합니까, 자신의 코드에서 ".dialog()"와 같은 것을 다시 적용해야합니다. 일반적으로 컨텐트를로드하는 데 사용 된 ajax 메커니즘의 "success"핸들러에서이를 수행합니다.

페이지의 "임의의 부분에서 작동하도록 호출 할 수 있도록 페이지"위젯 "설정 코드를 구성하는 것이 좋습니다. 페이지 초기화시 <body>에 대해 실행하지만 동적 내용로드 후에는 업데이트 한 컨테이너 요소에 대해 실행합니다.

편집 — 자세한 내용 :이 작업을 수행하는 방법은 사용자에게 달려 있으며 응용 프로그램에서 수행하는 작업의 종류에 따라 다릅니다. 문제를 처리하기 위해 jQuery plugin을 썼지 만, 많은 목적을 위해 과도 할 수도 있습니다. 당신이 일이 대화 상자를 초기화 좋아 할 거라고, 함수 내부

function initializeFeatures(startingPoint) { 

, 그리고 당신이 떨어져 작업을 수행하는 코드를 기반 것 :

일반적인 아이디어는 초기화 기능이있을 것이다 것입니다 "startingPoint"매개 변수. 코드가 설정하는 페이지 요소를 "발견"하는 경우 즉, 그것은 항상 거기에서 시작한다 :

$(startingPoint).find('.dialog-container').dialog({ 
     resizable: true, 
     autoOpen: false, 
     // ... 
    }); 

그런 다음, "성공"핸들러에서 당신이로드 한 후 내용을, 당신은 할 수 함수를 다시 호출하십시오.

$('#dynamic').load('/your/url', function() { 
     initializeFeatures(this); 
    }); 

다시 말하지만, 이는 응용 프로그램의 정확한 세부 사항에 달려 있습니다.

+0

당신은 나에게 정확하게 맞는 것을 찾고 있습니다. 그러나 온라인 링크를 제공하여 얻을 수있는 방법을 더 잘 이해하고, 무엇을 말하고 있는지를 이해할 수 있습니까? 감사합니다 – user2134226

+0

답변을 업데이트하겠습니다. – Pointy

+0

나는 (initializefeatures의 모든 기능을 넣어 가지고) 다음 내 ajaxSetup에 나는이 \t'완전한 추가 : 함수() {\t \t \t \t \t initializeFeatures (이)'과 잘 작동하지만 난 사용하지 않았다 $ (startingPoint를) .find. 왜 내가 필요합니까? – user2134226

관련 문제