奇怪的是我无法触发属于assets / javascripts目录中不是application.js文件的* .js文件中的javascript。例如,如果我创建一个新的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放在应用程序文件中,但这显然不太理想。有人遇到这个问题??
答案 0 :(得分:0)
确保正确加载目录中的脚本并确保require_tree命令正确无误。在开发模式下,验证是否加载了相关脚本。如果是,则在单击链接时将运行。唯一的理由不是它是否超出范围或未定义。
答案 1 :(得分:0)
好的,你确定anyscript.js文件包含在JS清单文件中,a.k.a application.js?