提问人:Francis Saul 提问时间:1/20/2016 最后编辑:emmanuuel pascalFrancis Saul 更新时间:1/20/2016 访问量:1028
外部 JS 文件/不显眼的 JS 不起作用,但控制台中没有错误
external js file / unobtrusive js not working but there is no error in console
问:
我有一个外部 JavaScript 文件,内联 JavaScript 工作正常,但是当我将其分开(不显眼)时,它不起作用,也没有显示错误。
我正在使用 Visual Studio Web Developer Express 2010。请看我的代码。
[HTML全文]
<form id="form1" runat="server">
<div>
<br />
<button id="btnSave" type="button" style="width:300px; height:200px;"> SAVE </button>
</div>
</form>
ASPX头
<script src="<%= ResolveUrl("~/javascript_01.js") %>" type="text/javascript"></script>
外部 JS
/// <reference path="~/Scripts/libframeworks/jQuery/jQuery-2.1.4.min.js" />
(function () {
$('#btnSave').mouseover().css("background-color", "Blue");
$('#btnSave').mouseleave().css('background-color', 'gray');
});
答:
1赞
Marcos Casagrande
1/20/2016
#1
你的代码永远不会运行,你需要使用 调用函数,所以它成为一个 IIFE,里面的代码将被执行。()
请记住在脚本之前添加 jquery:
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
您的外部 JS:
(function ($) {
$('#btnSave').mouseover().css("background-color", "Blue");
$('#btnSave').mouseleave().css('background-color', 'gray');
})(jQuery); //You need to call the function :)
评论
0赞
Francis Saul
1/20/2016
我在外部文件中js函数的分号之前添加了(),但遇到错误:$未定义。 。 。我是否正确引用了jquery js文件?看我的代码 外部js引用路径
0赞
Marcos Casagrande
1/20/2016
检查编辑后的答案,可能您正在使用其他使用 $ 的框架,因此只需将 jQuery 作为参数传递即可。
0赞
Francis Saul
1/20/2016
现在的错误是 jQuery 未定义。我只使用jquery 2.1.4 js文件和一个web表单文件。
0赞
Marcos Casagrande
1/20/2016
如果 jquery 未定义,则您从未包含它,请检查我的答案,并在包含外部 JS 之前添加 jquery 脚本
0赞
Francis Saul
1/20/2016
我将jquery文件拖放到外部js和aspx中,我在外部js中添加了警报消息,它可以正常工作,控制台中没有错误,但鼠标悬停jquery功能不起作用。
评论