2013-09-29 143 views
0

我剛剛添加Django的s3direct插件到我的網站。雖然它在我的管理頁面上成功運行,但我無法在我的網站前臺上運行。

這裏是有問題的網頁:http://rigsandwagons-staging.herokuapp.com/listings/add/

我不斷遇到遺漏的類型錯誤:房產「$」對象的翻譯:不是一個函數,特別是當我在頁面的底部添加以下腳本:

<script type="text/javascript" src="//rigsandwagons-staging.s3.amazonaws.com/static/shared-bg/js/jquery.iframe-transport.js"></script> 
    <script type="text/javascript" src="//rigsandwagons-staging.s3.amazonaws.com/static/shared-bg/js/jquery.ui.widget.js"></script> 
    <script type="text/javascript" src="//rigsandwagons-staging.s3.amazonaws.com/static/shared-bg/js/jquery.fileupload.js"></script> 
    <script type="text/javascript" src="//rigsandwagons-staging.s3.amazonaws.com/static/s3direct/js/s3direct.js"></script> 

做一些研究之後,我認爲它可能做一些與s3direct.js var $s3Direct = jQuery.noConflict(),但我不能完全肯定(如刪除該行推出的其他問題一大堆

回答

0

我很確定,如果將jQuery定義爲noConflict,那麼所有使用jQuery的腳本都需要引用'jQuery'而不是'$'。

您可以通過包裝使用「$」在下面的代碼解決這個問題:

jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
}); 

我看到你這樣做在你的代碼行41,只要使用相同的技術。

另外:有問題的錯誤出現在第661行,但您已將代碼移至文件底部,並且已準備就緒。爲什麼不移動錯誤的代碼呢?它會在同一時間開火。我相信你也會有同樣的錯誤,所以一定要在ready函數中傳遞'$',並將函數名'$'替換爲'jQuery'。

說了這麼多,我還沒有使用過Django,所以這個下一個建議旨在敲你的想法;如果你的意思是使用Django,那麼你可能需要使用類似這樣的東西:

$(Django).on('ready', function() { 
    // code 
}); 
相關問題