Rails 3.1在加载页面之前加载脚本。如何将函数绑定到页面元素?

时间:2011-09-14 08:29:35

标签: rails-3.1

将此代码放入

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

在posts.js.coffee中的vanilla Rails 3.1应用程序不起作用。 javascript在页面之前被编译和加载,因此函数不绑定到它的元素。有一些简单的解决方案,比如在页面上手动加载js而不是使用资产管道,或者使用JQuery .live函数,但看起来这个代码应该是开箱即用的。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

我可能会指出这里显而易见的,但是你(在jQuery中)试过这个:

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

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

这些(至少在正常情况下)应该阻止任何javascript内部做任何事情,直到DOM被加载。

希望这有帮助