2012-03-24 5 views
0

fancybox 2 팝업에서 다음 및 이전 화살표를 만들려고합니다. 괜찮 으면 포함 시키지만, 클릭하면 그 $ .fancybox가 정의되지 않습니다. 아약스를 사용하여 페이지를 여는 중입니다.Fancybox가 정의되지 않았습니다.

이 내 fancybox 초기화 코드 :

$(".popup").fancybox ({ 

maxWidth : 1200, 
maxHeight : 550, 
width  : '90%', 
height  : '90%', 
autoSize : false, 
openEffect : 'none', 
closeEffect : 'none', 
nextEffect: 'none', 
prevEffect: 'none', 
arrows: false, 
padding: 0, 
scrolling: 'no', 
afterShow: function (e) { 

var toolbar = "<div id='next'>Next</div><div id='prev'>Prev</div>"; 

$(".fancybox-inner").append(toolbar); 

} 

}); 

이 내 다음 및 이전 코드 :이 코드 샘플 모두가 내가 가진 자바 스크립트 파일이라고 popup.js의 크기를 조절

$("#next").live ("click", function() { 

$.fancybox.next(); 

}); 

$("#prev").live ("click", function() { 

$.fancybox.prev(); 

}); 

팝업 창을 호출하는 페이지에 이 포함되어 있습니다.

무엇이 잘못 되었나요?

답변

2

차라리

var toolbar = "<div id='next'><a href="javascript:$.fancybox.next();">Next</a></div><div id='prev'><a href="javascript:$.fancybox.prev();">Prev</a></div>"; 

을 할 것이다 당신의 .live() 스크립트 잊어.

현재 jQuery 1.7부터 .live() 메소드가 사용되지 않습니다. 대신 .on()을 사용하십시오. 이전 버전의 jQuery에서는 보다 .delegate()을 사용하는 것이 더 좋습니다.

+0

감사합니다. 궁금한 점이 있는데 왜 대의원은 살고있는 것보다 낫습니까? –

+0

여기에'.live()'단점에 대해 읽어보십시오. http://api.jquery.com/live/ – JFK

관련 문제