Turbolinks and jQuery compatibility on Rails 5
I have a hidden field that's activated when clicked on the link using jQuery. When clicking on the link, the field appears just for a second and then disappears.
  $('.use-different-card').on "click", ->
    $(".card-on-file").hide()
    $(".card-fields").removeClass("hidden")
When I remove turbolinks, jQuery seems to work just fine.
I've tryied adding compatibility.coffee but I had no luck.
And using:
$(document).on "turbolinks:load", ->
This is my source tree.
//= require jquery
//= require jquery_ujs
//= require jquery.turbolinks
//= require turbolinks
//= require turbolinks-compatibility
//= require_tree .
Anything suggestion on what to try next?
Have you try $(".card-fields").show() instead of $(".card-fields").removeClass("hidden") ?! 
In case it fail, don't use class hidden, add in-line style there: style="display:none;". And now $(".card-fields").show() will work. 
Hey Anh,
What do you mean in-line style? Where shoudl I add that?
I also tried adding:
  $(document).on 'turbolinks:before-visit', ->
  $('.use-different-card').on "click", ->
    $(".card-on-file").hide()
    $(".card-fields").removeClass("hidden")
  Ah I mean inline CSS. For example: 
<div class="card-fields hidden"> will be <div class="card-fields" style="display:none">
I see what you mean Anh. Thanks for the help!
I noticed that if the element with .use-different-card is an <a>, I needed to cancel the click event:
$('.use-different-card').on "click", (event) ->
  event.preventDefault()
  $(".card-on-file").hide()
  $(".card-fields").removeClass("hidden")
or
$('.use-different-card').on "click", ->
  $(".card-on-file").hide()
  $(".card-fields").removeClass("hidden")
  false