0

奇怪的是,我无法触发 *.js 文件中的 javascript,这些文件不是 assets/javascripts 目录中的 application.js 文件。例如,如果我创建一个新的 rails 3.2.1 应用程序,并插入以下内容:

index.html.erb:

<%= link_to "click", "javascript:", :onclick => "call_function();" %> 

并将我的函数转换为 javascript 文件“anyscript.js”:

function call_function () {
  alert("hello2");
}

仅当将 javascript 放入 application.js 文件而不是其他任何地方时,警报功能似乎才起作用。我的 application.js 文件有 require_tree 。所以它应该加载目录中的所有脚本。但如果该函数位于单独的文件中,则它不起作用。

我可以将我所有的 javascript 放在应用程序文件中,但这显然并不理想。有人遇到这个问题吗??

4

2 回答 2

0

好的,您确定 anyscript.js 文件包含在 JS 清单文件中,也就是 application.js?

于 2012-04-30T00:32:03.170 回答
0

确保目录中的脚本被正确加载并且你的 require_tree 命令是正确的。在开发模式下,验证是否加载了相关脚本。如果是,它将在单击链接时运行。它不会的唯一原因是它超出范围或未定义。

于 2012-04-29T23:53:42.747 回答