2011-09-14 86 views
2

把這個代碼Rails 3.1在加載頁面之前加載腳本。如何將函數綁定到頁面元素?

$('#hello').click -> 
    alert 'hello' 

在posts.js.coffee香草的Rails 3.1的應用程序無法正常工作。 javascript是在頁面之前編譯和加載的,所以函數不會綁定到它的元素。有一些簡單的解決方案,比如手動加載頁面上的js而不是使用資源管道,或者使用JQuery .live函數,但是看起來這個代碼應該是開箱即用的。我錯過了什麼?

回答

1

我可能會在這裏特別指出的明顯,但有你(jQuery的)嘗試這樣做:

$(function(){  
    //your code 
    $('#hello').click(function(){ 
    alert("hello"); 
    }); 
}); 

$(document).ready(function(){ [...] }); 

這些(正常情況下ATLEAST)應防止內部的任何JavaScript從做任何事情直到DOM已經被加載。

希望這會有幫助

+0

呃。當然就是這樣。謝謝你回答這樣一個頭腦問題。 – Gavin

+0

:)沒問題,很高興有幫助 – jammypeach