2010-08-19 28 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); 
相关问题