Why javascript only loads once (Rails 4)

Hi,

Can someone explain to me why is this behaviour please?

The code below only works if I reload the page. It does not work when
the
page is loaded through a link. I imagine
that part of the problem is turbolink and ajax, then how do I solve this
problem? I did try to move the javascript tag from the top to
the bottom of the page in the application layout, but that gave me
trouble.
I am using cocoon and every time I want to use a nested
attribute instead of a single copy I am getting multiple. An undesired
feature.

Thank you
-Luis

This is my application.js

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require turbolinks
//= require cocoon
//= require bootstrap.min.js
//= require_tree .


search_button.coffee
jQuery ->
$(’.search-box’).hide()
$(’.search-btn’).click ->
$(’.search-box’).toggle(“slow”)

On Aug 19, 2015, at 7:07 PM, ITF-tkd [email protected] wrote:

Thank you
//= require bootstrap.min.js
//= require_tree .

Any time you see a JavaScript working when it is a fresh load (or
reload) of the page, but not on a link, you are being trapped by
Turbolinks. The best way to solve this is to wrap any functions in a
listener on the page:change event, which is fired by Turbolinks both
when the page is loaded (at the same time as dom:loaded) but also
whenever TL has refreshed part of the page.

Walter

Thank you Walter, that worked.

  • Luis

Sent from my iPhone

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs