2017-05-05 4 views
1

내 cshtml 파일에 다음 코드가 있습니다.자바 스크립트에서 fancybox를 여는 방법.

<div style="display:none"> 
<div id="EditFancy" class="fancybox-infobar"> 
//Some not relevant input fields. 
</div> 
</div> 

나는 cshtml 파일의 맨 위에 포함 된 자바 스크립트에서 해당 fancybox를 활성화/표시하려고합니다.

그러나 동일한 cshtml 파일 내의 링크에서 활성화/표시 할 수 있습니다. 다음 코드를 사용하십시오 :

<a href="#EditFancy" class="btnForm" id="btnForm">asd</a> 
    <script type="text/javascript"> 
     $("#btnForm").fancybox(); 
    </script> 

도움을 주실 것입니다.

+0

코드 어딘가에 페이지에서 실행되고 작동하지만 코드를 파일의 맨 위에 올리면 작동하지 않습니다. 왜 파일의 상단에 그것을 두는 것을 괴롭히는가? –

+0

@MikeC maintainability 대부분 –

+0

@KyleBecker 그건 이해가 가지 않습니다. 모든 스크립트를 페이지의 맨 아래에 두는 것은 유지 보수가 가능합니다. 그렇게하지 않으면 아주 좋은 이유가없는 한 어쨌든해야 할 일입니다. –

답변

0

당신이 JQuery와 $ (문서) .ready() 함수의 코드를 포장 또는 당신은 이벤트 위임을 사용하여 자신의 클릭 핸들러를 만들 수 있습니다 자바 스크립트 함수

+0

fancybox를 호출하는 함수는 $ (document) .ready() 함수 안에 있습니다. –

+0

라이브러리가로드되기 전에 스크립트가로드되었는지 확인하십시오. 공유 레이아웃보기 페이지에서 스크립트 섹션을 관리합니까? 이러한 고려가 도움이 될 수 있습니다. – decoder

+0

예,로드 된 곳입니다. JQuery.fancybox.open (jQuery ('# btnForm'))을 사용해야합니다. 당신의 도움을 주셔서 감사합니다! –