라이트 박스 플러그인을 사용하여 라이트 박스가있는 페이지가 있습니다. 나는 라이트 박스로 전환 할 요소는 간단하게 다음과 같이 선택 및 변경됩니다AJAX가 추가 한 요소에 대한 작업 수행
$(".lightbox").find("a").live('click', function(e) { e.preventDefault(); $(".lightbox").find("a").fancybox({ 'transitionIn' : 'elastic', 'transitionOut' : 'elastic' }); });
나는 그것이 가장 깨끗한 방법이 아니다 알고 있지만, 지금은 작동합니다. 내 진짜 질문은, 어떻게 AJAX에 의해 페이지에 추가 된 요소에 $(".lightbox").fancybox(...)
을 실행할 수 있습니까? .fancybox()
을 AJAX 호출의 success:
부분에 넣을 수는 있지만, 나는 "더럽고 잊어라"해결책을 찾고 있습니다. 모든 미래 요소에 적용 할 수있는 코드 한 장. .live()
은 이벤트에 바인딩해야한다는 것 외에는 여기에 완벽합니다. 나는 심지어 여기서도 존재하지 않는 create
이라고 생각합니다.
그래서 지금은 어디서나 많은 코드를 넣지 않아도 AJAX에 의해 페이지에 추가 된 요소에 대한 함수를 실행할 수 있습니까?
감사합니다,
제임스
나는 당신이 다른 클래스 이름을 말하며 라이브를 사용하여 바인딩 언급 한 바와 같이 아약스 콜백 중 하나가 될 수 있다고 생각합니다 – kobe
언제든지 호출 할 수 있도록 당신의 "준비"코드를 구성하는 것에 대해 나쁘지 않은 것을 보지 못합니다. 필요한 것이고, 동적 업데이트의 "성공"핸들러에서이를 수행하는 것입니다. 해결할 수있는 간단한 아키텍처 문제입니다. 페이지 로딩 시간을 "액션을위한 준비물"의 또 다른 특별하지 않은 인스턴스로 취급하십시오. – Pointy
@ kobe : 고맙습니다. 나는'success :'호출에 코드를 추가 할 것이라고 생각한다; 너무 어렵지 않아요. 만약 내가 그것을 함수에 넣으면 편집하기가 더 쉬울 것입니다. – Bojangles