2014-10-01 27 views
1

當我根據文檔使用該手風琴並直接打開該頁面時,Foundation 5的手風琴效果很好。但是,如果我點擊我的網站上的另一個鏈接,然後用手風琴點擊頁面,那麼當我點擊標題時,手風琴不會展開:(我想也許是基金會的手風琴混淆了turbolinks JavaScript。我們已將此添加到鏈接的網頁與手風琴:Foundation 5的手風琴不適用於Rails 4

<li data-no-turbolink><%= link_to 'My accordion page', accordion_page_path %></li> 

現在,它的工作原理更好,但並不完美。如果我去我的手風琴頁面從另一個頁面,手風琴作品,但後來當我。導航,然後單擊我的瀏覽器上的後退按鈕,停止工作:(。

這肯定是一個非常普遍的問題,因爲Foundation和Rails非常流行。他的工作?

回答

1

是的,turbolinks可能會導致許多RoR問題。

turbolinks打破你的javascript的原因是document.ready事件不會正確觸發。你需要改變它而不是改變。

選項1.修訂的所有JavaScript(不易或建議)

var on_load = function() { 
} 
$(document).ready(on_load) 
$(window).bind('page:change', on_load) 

選項2使用jQuery的Turbolinks寶石。

jquery turbolinks寶石旨在解決這個問題。但是,您需要閱讀文檔,並確保正確安裝。 (這是一個棘手的野獸。)

選項3刪除Turbolinks

如果它導致你的麻煩,你可以將其刪除。將它從gemfile中刪除,從應用程序佈局中的資產中刪除turbolinks-tracked: true,然後通過wave turbolinks再見。我承認,我已經做了好幾次了。 :\