2012-06-15 4 views
2

Fancybox 2.0.6 및 jQuery 1.7.2를 사용하고 있습니다.Fancybox 2.0.6 - fancybox가 열리기 전에 AfterClose가 실행됩니다.

두 개의 업데이트 패널이있는 asp.net 웹 페이지가 있는데 하나는 왼쪽에 하나는 오른쪽에 있습니다. 왼쪽에는 Questionnaire 구조가있는 Telerik RadTreeList 컨트롤이 있습니다. 질문을 선택하면 오른쪽 패널에 해당 질문의 세부 사항이 업데이트됩니다.

서버 쪽 이벤트를 트리거하여 질문에 대한 답변의 ID를 생성하는 버튼 (업데이트 패널 외부에 ActionButton이라고 함)이 있습니다. 그러면 이벤트가 응답 ID로 숨겨진 링크를 업데이트하고 숨겨진 리터럴을 표시로 설정하여 fancybox를 트리거합니다.

<a href="action.aspx" id="hidden_link" class="actionbutton" style="visibility: hidden;" runat="server"></a> 
<asp:Button ID="btnAction" runat="server" meta:resourcekey="btnOpenAction" CssClass="formbuttons" OnClick="btnAction_Click" /> 
<asp:Literal runat="server" Visible="false" ID="Literal1" Text="<script type='text/javascript' language='javascript'>jQuery(document).ready(function() { $('#MainContent_hidden_link').trigger('click'); });</script>" /> 

fancybox는 자세한 내용을 데이터베이스에 저장하는 다른 웹 페이지가 포함 된 iFrame입니다. 지금까지 그렇게 좋았습니다. 모든 것이 예상대로 작동합니다. 하지만 지금하고 싶은 것은 세부 사항이 추가되었음을 보여주기 위해 왼쪽의 업데이트 패널을 업데이트하는 것입니다.

 $("a.actionbutton").fancybox({ 
      'type': 'iframe', 
      'openEffect': 'elastic', 
      'closeEffect': 'elastic', 
      'openSpeed': 600, 
      'closeSpeed': 200, 
      'padding': 10, 
      'width': 800, 
      'height': 600, 
      afterClose: function() { 
       $('#ctl00$MainContent$btnHiddenAction').trigger('click'); 
       alert('Ha!'); 
      } 
     }); 

나는 내가 afterClose 콜백 마감 후 화재 얻을 수 없습니다 여기에 너트거야 :

다음은 fancybox 코드입니다. 나는 "하!"를 얻는다. ActionButton을 클릭하자마자 경고하고, 확인을 클릭하면 fancybox가 나타납니다. beforeClose를 사용하여 시도했지만 전혀 실행되지 않습니다.

내 코드를 jsFiddle에 붙여 넣을 때 제대로 작동합니까?!?

내가 뭘 잘못하고 있니? 긴 무장 한 셔츠와 사람이 함께 오기 전에 ...

감사를 도와주세요, 스테판

+0

fancybox와 관련된 프런트 엔드 부품을 디버깅 할 수 있도록 생성 된 html 코드를 제공해주십시오. – sg3s

답변

0

나는 완전히 afterClose 이벤트를 무시 끝났다.

</body> 
<script language="javascript" type="text/javascript"> function CloseMe() { parent.$.fancybox.close(); parent.document.getElementById('ctl00$MainContent$btnHiddenAction').click(); }</script> 
</html> 
그것은 나를 위해 작동

, 어쩌면 누군가에게 도움의 :

대신 나는 fancybox에 표시된 action.aspx 페이지 하단의 fancybox에 가까운 스크립트 자바 스크립트 호출을 추가 else outside ... :)

관련 문제