在rails中,我有兩個js文件,一個名爲welcome.js,一個名爲about.js。我有相同的代碼。我正在使用require_tree。在application.js中Rails:Javascript運行於一個文件,但不是另一個
welcome.js:
var loadw = function() {
console.log("Hello from welcome js!");
}
$(document).ready(loadw); // for regular page load
$(document).on('page:load', loadw); // for turbolink
about.js:
var loada = function() {
console.log("Hello from about js!");
}
$(document).ready(loada); // for regular page load
$(document).on('page:load', loada); // for turbolink
我有兩頁,現在,我的主頁,其中有一個計算器寫了鈣頁在JavaScript中(即js文件也具有$(document).ready函數,如about.js和welcome.js,如果這很重要的話)。當我加載相應頁面時,瀏覽器中控制檯上的JS輸出是:
大號oading主頁:
"Hello from about js!"
加載計算器頁面:
"Hello from about js!"
"Hello from welcome js!"
我的問題是,爲什麼不從welcome.js代碼運行時我加載主頁?我原本想做的事情是添加代碼來突出顯示點擊時的某些按鈕,並且我將這段代碼添加到了welcome.js中,但是除非我加載計算器頁面,否則它不起作用,但是如果我將它放入about.js(按鈕在標題中)。經過幾個小時的試圖調試,我在這裏 - 我刪除了一切,但console.log,它仍然在發生。我是新手,我可能錯過了一些非常簡單的東西。我在辯論是否擺脫require_tree並只在需要的時候加載js文件,然後看看是否能解決問題,但我不應該那樣做,對吧?