2012-10-25 69 views
0

我正在使用LESS.js,Jquery,Respond.js和Freetile.js。

我使用Head.JS(我的第一个)加载它们。

有人可以看看为什么我得到这个错误吗?我看过Chrome开发人员工具,并且所有脚本似乎都已加载正常(我知道这通常是Jquery未加载时发生的错误,或者在使用后加载Jquery)。

我真的把我的头撞在墙上,所以帮助将不胜感激。

你可以找到演示网站我在这里工作:----

+1

你试过把$(“#container”)。freetile();准备好文件? –

+0

准备好的文档不起作用。 – user974703

回答

5

的jQuery后访问$加载:

head.js(
    "http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", 
    "assets/js/less.js", 
    "assets/js/respond.min.js", 
    "assets/js/jquery.freetile.min.js", function() { 
    $('#container').freetile(); 
}); 

其实head.js docs建议这样的:

// use jQuery on the body of the page even though it is not included yet 
head.ready(function() { 
    $('#container').freetile(); 
}); 

// load jQuery whenever you wish bottom of the page 
head.js("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", 
    "assets/js/less.js", 
    "assets/js/respond.min.js", 
    "assets/js/jquery.freetile.min.js"); 
+0

这样做了,谢谢!使用head.js时,是否必须将所有这些调用放入括号中? – user974703

+0

@ user974703由head.js提供的事件处理程序是唯一可以确定脚本已加载的地方,所以是的。 – Esailija

+1

仅供参考...因为像head.js这样的脚本通过向DOM添加脚本元素来工作,所以他们无法完成他们的工作,直到有一个DOM添加脚本(阅读:直到jQuery的'ready'火)。直到那一点,没有任何脚本元素会被加载......而且在DOM准备好之前,主体中的脚本将基本上在分析之前运行。 – cHao