2015-01-20 70 views
0

我用下面的代碼樣式的東西:Addclass上的document.ready不堅持

$(document).ready(function(){ 
    $("div.event").closest('td').addClass('success'); 

這在第一次裝載的偉大工程的頁面,但是當我回到該頁面或感到重定向一個控制器(這個應用程序在Rails上),這個類已經離開了這個元素。

對於某些情況下,此應用呈現日曆樣式表內的事件。其目的是突出顯示錶td,如果裏面有事件。

任何見解我如何能讓它堅持下去,將不勝感激。

+1

你使用turbolinks? – apneadiving 2015-01-20 22:26:15

+0

是的。那是怎麼回事? – 2015-01-20 22:31:34

+0

[Cross-browser onload event and Back button](http://stackoverflow.com/questions/158319/cross-browser-onload-event-and-the-back-button) – 2015-01-20 22:33:19

回答

3

使用turbolinks,而不是:

$(document).ready(function(){ 

用途:

$(document).on("ready page:change", function() { 

但這應該只包含冪等代碼。

我建議您檢查github page上的所有事件。

+0

從bfcache加載頁面時,加載事件不會觸發。 – 2015-01-20 22:34:47

+0

@TravisJ這是打算,所有非冪等的東西只應該被觸發一次,並且它們的結果被緩存 – apneadiving 2015-01-20 22:35:30

+0

也就是說'.on(「ready page:load」'只會在首頁加載時觸發一次,並且不是當後退按鈕被按下時 – 2015-01-20 22:38:41