2010-08-19 24 views
0

我在我的網站中使用jquery colorbox插件作爲彈出窗口/模式對話框解決方案。當我給客戶端一個js響應時,我想打開一個彈出框。我寫了下面的代碼在我response1.js.erb如何在Rails JS響應頁面上顯示對話框?

$.colorbox(); 

我正確地從服務器得到響應,但同時它是越來越在瀏覽器上執行,螢火報告錯誤,如

$.colorbox() is not a function 

怎麼回事我可以做任務嗎?請幫忙。所有我相關的JavaScript(jQuery的,顏色盒)正在加載頁面加載時正確加載(我檢查頁面源html文件)

回答

0

這適用於我,你使用format.js其中調用page.js.erb?當我在我的應用程序的文檔中使用$.colorbox({html:'<p>testing 123..</p>'})時,我確實遇到了問題,說$box未定義。不知道爲什麼。但從我的例子中可以看出,它應該起作用。

0

確保在您致電$.colorbox()之前加載Colorbox JS文件。如果您在將該函數添加到jQuery對象之前引用該函數,那麼它將不可用。您還應該確保$在您使用它的上下文中引用了jQuery。如果它指的是Prototype,那麼您可能會得到該錯誤。另外,如果您碰巧要加載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); 
相關問題