我在軌道上是n00b。這個問題很簡單,我想知道如何在onLoad事件的body標籤內部調用javascript函數。在RAILS中插入javascript調用<body onLoad = function()>
我在問這是因爲在視圖中我找不到任何身體或頭標籤(就像他們在別處生成的一樣)。
由於
我在軌道上是n00b。這個問題很簡單,我想知道如何在onLoad事件的body標籤內部調用javascript函數。在RAILS中插入javascript調用<body onLoad = function()>
我在問這是因爲在視圖中我找不到任何身體或頭標籤(就像他們在別處生成的一樣)。
由於
您不需要修改body標籤以將Javascript函數與onload關聯。不用在body上使用onload屬性,你可以在外部Javascript文件中將函數賦值給window.onload。
有更高級的方法,使用事件監聽器做同樣的事情(觸發頁面加載函數),這將允許在頁面加載之前稍微/一段時間添加幾個監聽器函數或觸發DOM準備就緒函數。只要設置window.onload是最簡單的方法,並將保持你的Javascript不顯眼。
的body
和head
標籤通常會在佈局中的一種來定義。佈局默認位於app/views/layouts
。
EricBréchemier和mtyaka都是對的。
另一種方法(如果你需要自定義元素添加到基於每個視圖基礎上指定的頁眉/頁腳,你會想要做這樣的事情與產量塊
這裏有一個例子讓標題要在每頁的基礎上重寫,但同樣technqiue適用於HTML head標籤設置script
標籤。
app/views/layouts/posts_layout.html.erb
<html>
<head>
<title><%= yield(:page_title) || "My awesome site"%></title>
</head>
<body><%= yield %> </body>
</html>
app/views/posts/index.html.erb
<%= content_for :page_title, "post listing" %>
<h1>Here are your posts...</h1>
非常感謝您的評論。我一直在閱讀** content_for **標籤。非常有趣,但在我看來,我不能以這種方式添加屬性和事件,我可以嗎? – flyer88 2009-11-27 13:03:03
我已經notticed的頭部和身體的標籤佈局文件中,但......那是什麼與我的觀點綁在佈局... 我的意思是,我不能看到佈局之間的一對一的關係和意見。 如何以及在哪裏我可以配合視圖佈局。 謝謝 – flyer88 2009-11-27 13:18:28
存在一個很好的關於這個主題的Rails指南(http://guides.rubyonrails.org/layouts_and_rendering.html)。我建議你檢查它,因爲它解釋了佈局/視圖/部分渲染背後的所有「魔術」。 – mtyaka 2009-11-27 13:32:53