也有類似的問題,但它們都似乎是由身體中的JavaScript標記引起的,在我的情況下,我的頭部是。我也不能移動頁面換頁塊外的我的js(我認爲我至少不能)rails 4 turbolinks多個綁定
我遵循rails約定,讓每個文件中的所有js根據資源並將它們包含在應用程序中。 JS。
我的JS在我的佈局文件的頭部:
<!DOCTYPE html>
<html>
<head>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
我的文件都遵循軌道文檔中的建議,使用頁面更改事件:http://guides.rubyonrails.org/working_with_javascript_in_rails.html#turbolinks
下面是一個例子js文件( report.js - 我用咖啡腳本)
load_reports = ->
table = $('#reports').DataTable()
company_input_field = $('#rc-cn-st-input')
company_input_field.on 'keyup change', ->
table.column(2).search(@value).draw()
return
$(document).on('page:change', load_reports)
這一切的偉大工程,直到我用瀏覽器的後退按鈕。一旦我這樣做了,每次點擊都會觸發2次事件。我該如何解決這個問題,遵循什麼規定?
在其他情況下,我提出我的js的頁面變化外塊,做:
$(document).on 'click', 'td.details-control', ->
# do something
但是,這似乎並沒有在上述情況中的實際,我引用了jQuery數據表僅在一個頁面上,並且只有當我在該頁面上時才需要進行設置。
我看過.off()函數,但無法弄清楚如何在這種情況下使用它,我試過的所有東西似乎都是刪除活動偵聽器或失敗。