4

Rails 3.2.8 の jQuery で問題が発生しています。jquery-rails gem をインストールしました。私の application.js には次のものがあります。

//= require jquery
//= require jquery_ujs
//= require_tree .

views/layouts/application.html.erb には

<%= javascript_include_tag "application" %>

test.js での簡単な Javascript テスト:

if (jQuery) {
alert('Jquery is loaded')
} else {
alert ('Jquery is not loaded')
}

jQueryが実際にロードされていることを知らせるアラートが表示されます。

ただし、jQuery コマンドは機能しません。基本的なコマンドでさえ応答しません。

$(document).ready(function(){
 $("a").click(function(event){
 alert("Thanks for visiting!");
});
});

私はあらゆることを試しました。Google API を介して jQuery を再インクルードすることさえしました。何が起こっているのかについてのアイデアはありますか?

4

4 に答える 4

1

の前に JavaScript の include タグを含めていることを確認yieldしてくださいapplication.html.erb。Bootstrap を使用している場合、デフォルトapplication.rbでは生成後に JS が読み込まれると思います。そのため、ビューで実行する前に jQuery が読み込まれるまで待つ必要があります。

その場合で、インクルード タグをページの上部に再配置したくない場合は、次のようにします。

runScript();
function runScript() {
    if( window.$ ) { // Make sure jquery is loaded
         // your jquery code here
    } else {
        window.setTimeout(runScript, 100); // If not, wait 100 milliseconds and try again.
    }
}
于 2012-11-02T11:15:26.870 に答える
0

答えには遅すぎますが、同じ問題を抱えていて2時間ほど無駄にしていたので、それでも提供します。js コメントではなく ruby​​ コメントであるため、js ファイル内のコメントを削除します。それらを削除して js コードを記述すれば、問題なく動作します。

于 2013-08-31T12:08:20.250 に答える