亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Rails 4 turbo-link阻止jQuery腳本工作

Rails 4 turbo-link阻止jQuery腳本工作

米琪卡哇伊 2019-08-27 17:34:33
Rails 4 turbo-link阻止jQuery腳本工作我正在構建一個Rails 4應用程序,我有一些分散的js文件,我試圖包括“rails方式”。我將jquery插件移動到/ vendor / assets / javascripts中,并更新了清單(application.js)以要求它們。當我在本地加載頁面時,我看到它們正確顯示。但是,我從其中一個已編譯的腳本中獲得了不一致的行為。我有一個名為projects.js的特定于控制器的js文件,它通過以下方式在application.js中引用require_tree .://= require jquery//= require jquery_ujs//= require turbolinks//= require bootstrap.min//= require jquery.form.min//= require_tree .我看到文件被正確包含,并且它的工作時間有一半。另一半時間,projects.js中的東西似乎沒有做任何事情(它主要是jquery動畫和一些ajax請求)。當它不起作用時,我會點擊按鈕幾次,什么都不會發生,然后我會拋出這個錯誤:Uncaught TypeError: Cannot read property 'position' of null turbolinks.js?body=1:75當腳本處于各個視圖(錯誤的方式)時,這種情況從未發生過,所以我很確定問題不在于我的javascript代碼。另一個可能相關的細節是projects.js中的東西被包裝在一個$(document).ready(function(){。此外,我正在開發模式下進行測試,因此javascripts和css不會被資產管道組合。知道這里發生了什么嗎?我是Rails的新手,但我已盡力遵守所有慣例。更新!當我的項目腳本不起作用時,它是可預測的。第一頁加載每次都有效。然后我點擊一個鏈接到一個使用我的project.js行為的新頁面,第二個頁面永遠不會工作。我點擊幾次,最終拋出上面的錯誤。我仍然不確定為什么,但我懷疑這與渦輪連接有關。
查看完整描述

3 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

此railscast已經提供了解決方案

這是一個例子(我喜歡使用的那個)。

ready = ->
  # ..... your js$(document).ready(ready)$(document).on('page:load', ready)

還有一個寶石可以解決這個問題,讓你以舊的方式繼續這樣做。它工作得很好:)


查看完整回答
反對 回復 2019-08-27
  • 3 回答
  • 0 關注
  • 659 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號