2016-08-17 3 views
0

私のレールアプリを実現した後、turbolinksで動作しない$(document).ready)のよく知られた問題が発生しました。私はjquery.turbolinksをドキュメントが示すとおりにインストールしましたが、同じ問題。私の$(document).ready)機能でJavaScriptのどれもナビゲートするためにターボリンクが使用されるときはいつでも機能します。 application.jsで

:ここ

は、私のコードの一部で動作していないのJavaScriptの

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

例:

$(document).ready(function() { 
    $('.notice:empty').hide(); 
    $('.alert:empty').hide(); 
    $(".notice").delay(2000).fadeOut(); 
    $(".alert").delay(2000).fadeOut(); 
}); 

答えて

0

、私はapplication.jsファイルに実際に小さなスクリプトを持っていたと私は//= require turbolinks私はという印象の下にあった、あまりにも

1

をこの場合、関数ではturbolinks後にロードされます!簡単なエラーであることが判明

function runner(){ 
    $('.notice:empty').hide(); 
    $('.alert:empty').hide(); 
    $(".notice").delay(2000).fadeOut(); 
    $(".alert").delay(2000).fadeOut(); 
} 
$(runner); 
$(document).on("turbolinks:load", runner); 
+0

下に行くために必要なことを認識していませんでしたjquery.turbolinksはこのような回避策の必要性を防ぎ、 '$(document).ready'を通常通り使用することを許可しましたか?少なくとも、それはドキュメントや他の関連するスタックオーバーフローの答えが言っているようだ –

関連する問題