【问题标题】:external js file / unobtrusive js not working but there is no error in console外部 js 文件/不显眼的 js 不起作用,但控制台中没有错误
【发布时间】:2016-04-25 17:07:05
【问题描述】:

我有一个外部 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');
});

【问题讨论】:

    标签: javascript asp.net unobtrusive-javascript


    【解决方案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 :)
    

    【讨论】:

    • 我在外部文件中js函数的分号前加了(),但遇到错误:$未定义。 . .我是否正确引用了 jquery js 文件?看我的代码外部js参考路径
    • 检查编辑的答案,可能你正在使用其他使用 $ 的框架,所以只需将 jQuery 作为参数传递。
    • 错误现在是 jQuery 未定义。我只使用带有一个 Web 表单文件的 jquery 2.1.4 js 文件。
    • 如果 jquery 未定义,您从未包含它,请检查我的答案,并在包含您的外部 JS 之前添加 jquery 脚本
    • 我将 jquery 文件拖放到外部 js 和 aspx 中,我在外部 js 中添加了警报消息,它可以工作,控制台没有错误,但鼠标悬停 jquery 功能不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 2011-10-18
    • 1970-01-01
    相关资源
    最近更新 更多