1
在Rails應用程序我應該在DOM後運行已通過編輯加載
$(document).ready ->
# do some stuff
它曾經是,我可以保證這些功能還隔着Turbolinks頁面刷新工作的CoffeeScript功能如下
$(document).on 'ready page:change', ->
# do some stuff
我剛剛升級到Rails 5和Turbolinks 5,並且這些函數不再被正確調用。
一番搜索後,我已經試過許多變化,包括
$(document).on 'ready', ->
$(document).ready ->
$(document).on "turbolinks:load", ->
$(document).on "page:load", ->
$(document).on "page:change", ->
# and as suggested by the [Turbolinks readme][1]
document.addEventListener 'turbolinks:load', ->
我自己也嘗試這些有和沒有安裝jquery.tubolinks,並與turbolinks兼容性補丁建議here。
我必須錯過明顯的東西!在DOM加載頁面加載和Turbolink加載後,確保函數運行的正確語法是什麼?
感謝@馬克,我試圖讓事情與此事件的工作。儘管文檔聲明'turbolinks:load'事件是在「初始頁面加載並在每次Turbolinks訪問後再次觸發」觸發的,我認爲我的問題是該事件似乎只在每次Turbolink訪問後觸發。你知道爲什麼初始頁面加載不會觸發事件,或者如何調試? –
@AndyHarvey有趣。好的,如果你在'$(document).on'turbolinks:load', - >'事件的第一行放置一個'console.log(「here」);'語句,然後刷新頁面,你會看到控制檯中的輸出?另外,控制檯中是否有任何錯誤? – Mark