我试图理解为什么这有时会起作用。我有一个名为shared.coffee
的文件,其代码为
@sharedSearchButton = ->
$('#button_search_box').click (event) ->
event.preventDefault()
$('#search_box').toggle()
return
return
$(document).ready(sharedSearchButton)
$(document).on('turbolinks:load', sharedSearchButton)
我在application.js
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require shared
//= require_tree .
如果我点击一个链接,将我重定向到此代码必须工作的其中一个页面,它就可以正常工作。另一方面,如果我重新加载页面它不起作用。
更新
我发现如果我把
$(document).on('turbolinks:load', sharedSearchButton)
它适用于我在其他页面上的link_to按钮,但在刷新页面时却没有。相反,如果我写
$(document).on('turbolinks:change', sharedSearchButton)
当我刷新页面时它起作用,但是当我来自link_to
时它不起作用