2017-09-11 1 views
0
私がこれまでにjQuery 1.12.4を使用していた

と、すべてがOKだったの実行からturbolinksをブロックしている、私はこのようなものだった:私は昨日5.1をレールにアップグレードしjqueryの3文書が

$(document).ready -> 

    console.log "document is ready yaay!" 

    start = -> 

     alert "Hello world!!!" 

    document.addEventListener('turbolinks:load', start) 

をして追加することを決定し、私のjQueryも同様にアップグレードする必要があります。そのため、jQuery 3を糸を使ってインストールしましたが、上記の同じコードは実行されません。少なくともturbolinksの部分(console.logはドキュメントがロードされるたびに実行されます予想通り)メソッドはしていません

を「開始」私が働いて$(document).ready ->を削除し、コード開始!!!

することを確認して、私はまた、jQueryの3取り外し、バックjQueryの1.12をインストールし、それが働いたために!でも$(document).ready ->

でなぜこれが起こっているのでしょうか?

答えて

0

application.jsファイルに//= require jqueryを必ず追加してください。コマンドラインで

yarn install jqueryすべて小文字ここ

糸を通してjqueryのを使用して私のプロジェクトの1から私のapplication.jsファイルがある実行します。

//= require rails-ujs 
//= require turbolinks 
//= require jquery 
//= require_tree . 

EDIT: あなたは、すべてのページの変更で発射するにconsole.logと警告したい場合。あなたはこのようにあなたのJavaScriptを書くことができます。

$(document).on('turbolinks:load', function() { 
    console.log('Test'); 
    alert("Hello world!!!"); 
}); 
+0

私はjqueryのを追加することについては何ら問題がないが、私はすでに私のapplication.jsでそれを持っている、問題は、あなたはjqueryの3を使用して、自分のコードを実行した場合、それは一度だけturbolinksメソッドを呼び出します、jqueryのバージョンでありますその後、複数のリフレッシュを行うと、turbolinksメソッドが動作を停止します – medBo

+0

jQuery準備完了イベントまたはこの '$(document).ready - >'がturbolinkと競合しています。ターボリンクがjqueryによって上書きされる、またはその逆の名前空間問題があるかもしれないと思います。恐らくv1.12.4は、ターボリンクとの重なりがそれほど悪くないので動作します。あなたはそれについてもっと読むことができますhttps://github.com/turbolinks/turbolinks#running-javascript-when-a-page-loadsここにhttps://thoughtbot.com/upcase/videos/turbolinks –

+0

私はそう思います、それは変です、実際には$(document)を使用していません.readyはjQuery 3の解決策です – medBo

関連する問題