2010-08-19 5 views
0

jquery colorbox plugin을 내 사이트의 팝업/모달 대화 상자 솔루션으로 사용하고 있습니다. 클라이언트에게 js 응답을 주면 팝업 상자를 열고 싶습니다. 나는Rails JS 응답으로 페이지에 대화 상자를 표시하는 방법은 무엇입니까?

$.colorbox(); 

내가 서버에서 올바르게 반응을 얻고 있지만,이 브라우저에서 실행지고있는 동안, 불을 지르고 보고서 내 response1.js.erb에 다음 코드를 작성 오류

$.colorbox() is not a function 

같은 방법 다른 그 일을 할 수 있을까요? 도와주세요. 내 모든 관련 자바 스크립트 페이지가로드 (전 페이지 소스의 HTML 파일을 확인)이 나를 위해 작동

답변

0

, 당신은 당신의 page.js.erb를 호출 format.js을 사용하는 경우 (JQuery와, colorbox가) 제대로로드 얻고있다? 내 문서에서 $.colorbox({html:'<p>testing 123..</p>'})을 올바르게 사용할 때 문제가 발생하여 $box이 정의되지 않았다. 왜 그런지 모르겠습니다. 그러나 제한된 예제에서 볼 수있는 것과 관련하여 작동해야합니다.

0

$.colorbox()으로 전화하기 전에 Colorbox JS 파일이로드되고 있는지 확인하십시오. jQuery 객체에 추가되기 전에 해당 함수를 참조하면 사용할 수 없습니다. 또한 $이 사용중인 컨텍스트에서 jQuery를 참조하도록해야합니다. 대신 Prototype을 참조하는 경우 해당 오류가 발생할 수 있습니다. 또한 jQuery를 두 번로드하는 경우 jQuery 객체는 마지막으로 jQuery가 페이지에 포함되기 전에로드 된 확장 기능을 잃어 버린다. 일부 jQuery 플러그인은 축소 된 또는 압축 된 배포판에 jQuery를 포함하는 것을 좋아하지만, 이는 나쁜 형식이지만 종종이 문제를 일으킬 수 있습니다. 따라서 이미 완료 한 후에는 라이브러리에 jQuery가 포함되지 않도록하십시오.

$을 확인하는 가장 좋은 방법은 항상 jQuery를 언급되는 것은이 같은 폐쇄로 묶어야하는 것입니다

(function($){ 
    // notice the $ argument of the anonymous function 
    $('#dollarsign').is('.jQuery'); 
    // this last line executes the anonymous function and passes in jQuery as $ 
})(jQuery); 
관련 문제