Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8960

Rails JQuery 動かない

$
0
0

JQueryはちゃんと書けている。ソースも更新されている。

しかし、狙い通りに動作しない。Javascriptのエラーもでてない。
単純にalert();とかconsole.log();とかやっても反応しない。

全く動かないわけではなく、ページを再読み込みしたときは狙い通りに動く。
ぐぬぬ。

理由はturbolinksだった。

application.html.erb
<%=javascript_pack_tag'application','data-turbolinks-track':'reload'%>

turbolinksがあるとSPAのような動きをするらしい。(SPAよく知らないが)

Rails 4のturbolinksについて最低でも知っておきたい事
turbolinksの動作は、すごく大雑把に言うと以下の通りです。

  1. リンクのclickイベントをフック
  2. リンク先のページをXHRで取り寄せる
  3. レスポンスをDOM化
  4. 現在のページと取り寄せたページの外部JavaScriptファイルとCSSファイルが同一なら、titleとbodyを読み込んだページのもので置き換える

上記の理由で$(document).readyが発火しない。なるほど。

Rails5では書き方がまた違う

Rails5でjqueryを動かす方法

動いた。

変更前.js
$(function(){// 処理});
変更後.js
$(document).on('turbolinks:load',function(){// 処理});

Viewing all articles
Browse latest Browse all 8960

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>