2014-04-03 26 views
0

我知道有jQuery-turbolinks。但是,無論如何,使用jQuery和JS與turbolink。使用turbolink插件加載javascript

https://github.com/rails/turbolinks

隨着Turbolinks頁面會更改,恕不全部重新加載,所以你不能依靠DOMContentLoadedjQuery.ready()觸發你的代碼。相反,Turbolinks會在文檔上觸發事件以提供頁面生命週期的掛鉤。

我有這段代碼,但這並沒有加載到其他網址的navigating

$(function() { 
    return $('.status').hover(function(event) { 
    return $(this).toggleClass("hover"); 
    }); 
}); 
+0

你是問,如果有使用與*只有*'turbolinks'該功能的方法?因爲它應該在你的'application.js'文件中包含'jquery.turbolinks'之後與''turbolinks''和'jquery-turbolinks'一起使用。 –

+0

@Justin:如果我們不使用jQuery-turbolinks ?. – Shane

+0

檢查我的答案,它應該工作 – RSB

回答

1

試試吧;)

var ready; 
ready = function() { 
    $(function() { 
    return $('.status').hover(function(event) { 
     return $(this).toggleClass("hover"); 
    }); 
    }); 
}; 
$(document).ready(ready); 
$(document).on('page:load', ready); 
+0

這是什麼頁面:load?它是一個jQuery的東西或turbolinks? – Shane

+0

這是turbolink事件 – RSB

2

您可以執行以下操作來運行你的兩個頁面的JavaScript:加載和準備。

$(document).on('page:load ready', function() { 
    ... 
}); 
+0

什麼是這個頁面:load?它是一個jQuery的東西或turbolinks? – Shane

+0

這是由turbolinks提供的瀏覽器事件,當您導航到其他頁面時觸發。 –