我正在使用rails并尝试调用外部js文件中存在的jquery代码,其路径我已在我的html文件中正确指定。当我直接将其包含在html文件中时,jquery代码正确执行。 我的test.js
$(function(){
alert("yes");
});
和index.html.erb:
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="/assets/javascripts/views/test.js"></script>
</head>
jquery在包含在html
中时执行<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
alert("yes");
});
</script>
</head>
test.js路径是正确的,因为其他javascript函数是从同一个文件调用而不是jquery代码
答案 0 :(得分:0)
@ user3946910
试试这样。
index.html中的
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="/assets/javascripts/views/test.js"></script>
</head>
并在test.js文件中添加此内容。
$(document).ready(function(){
alert("yes");
});
像这样只需导入html本身的所有插件,并创建新的.js页面来编写自己的脚本。
我希望它会有所帮助。
答案 1 :(得分:0)
为什么你在index.html.erb文件中有头标记。它已包含在layout / application.html.erb文件中。这样你就可以两次包含jquery文件了。如果在任何html中包含两个版本的jquery,它们总是会产生问题。
在我的建议中,您需要完全从索引文件中删除头标记。你希望包含什么js文件,将它包含在application.js文件中。对于当前场景,您可以像下面这样做。
//= require views/test