javascript - $(document).ready(function () { ... 不会触发

标签 javascript jquery asp.net-mvc asp.net-mvc-4

我的一个 View 末尾有以下代码:

@section Scripts {
<script type="text/JavaScript">

    $(document).ready(function () {
        alert("!!!");
    });

</script>
}

无论我做什么,我都无法让它开火。我已经检查并在代码中进一步包含了 JQuery。使用 suggestion here我将我的代码更改为以下内容以确认 jquery 已正确加载。这给出了“是的!”加载页面时发出警报。

@section Scripts {
<script type="text/JavaScript">

    window.onload = function () {
        if (window.jQuery) {
            // jQuery is loaded  
            alert("Yeah!");
        } else {
            // jQuery is not loaded
            alert("Doesn't Work");
        }
    }
</script>
}

我页面中的源代码结尾如下所示:

<script src="/Scripts/jquery-1.9.1.js"></script>

<script src="/Scripts/jquery-ui-1.8.24.js"></script>

<script src="/Scripts/bootstrap.js"></script>

<script src="/Scripts/breakpoints.js"></script>

<script src="/Plugins/jquery-unveil/jquery.unveil.js"></script>

<script src="/Plugins/jquery-fademenu/jquery.fademenu.js"></script>

<script src="/Plugins/jquery-block-ui/jqueryblockui.js"></script>

<script src="/Plugins/jquery-slimscroll/jquery.slimscroll.js"></script>

<script src="/Plugins/bootstrap-select2/select2.js"></script>

<script src="/Plugins/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>

<script src="/Plugins/dropzone/dropzone.js"></script>

<script src="/Scripts/core.js"></script>

<script type="text/JavaScript">

    $(document).ready(function () {
        alert("!!!");
    });

</script>    

<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
    {"appName":"Chrome","requestId":"6301d560dc274f4ea5ec24b8e0c2a19f"}
</script>
<script type="text/javascript" src="http://localhost:50280/1cd42285f06243669b1fd5837f1f05c3/browserLink" async="async"></script>
<!-- End Browser Link -->

</body>
</html>

我不知道哪里出错了...

最佳答案

如果这个代码正常工作

 window.onload = function () {
        if (window.jQuery) {
            // jQuery is loaded  
            alert("Yeah!");
        } else {
            // jQuery is not loaded
            alert("Doesn't Work");
        }
    }

而这段代码没有:

 $(document).ready(function () {
        alert("!!!");
    });

你可能的问题是与美元符号$有冲突

我会输入 jQuery 而不是使用美元符号,当然你也可以这样做:

var j = jQuery.noConflict();

然后你可以在你以前使用 $

的地方使用 j

或者...只是控制台中有一个错误,您仍然没有回应,如果是这种情况,我会更新答案

编辑::

你的代码没有执行的原因是因为 javascript 很奇怪,如果 javascript 代码块中的任何地方有错误,那么它下面的任何东西都不会被执行。这就是为什么我问是否有任何控制台错误。检查控制台是解决任何 JavaScript 错误的第一步。

关于javascript - $(document).ready(function () { ... 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23832977/

相关文章:

javascript - Chrome 中 HTML DOM 上的断点

javascript - React Native 弹出菜单无法使用导航 Prop 进行导航

javascript - &lt;script&gt; 导致 XML 标签名称不匹配的问题

jquery - 计算具有变化值的多个 div

javascript - 如何解析从 url 返回的 xml?

asp.net-mvc - 发布的 ASP.NET MVC 5 应用程序具有组织帐户身份验证重定向回本地主机

c# - Jquery 提交不向 Controller 发布值

javascript - 如何将 bootstrap "data-"attr 添加到数据表按钮中

javascript - 动态创建的 anchor 链接未收到 'click' 事件?

c# - 在 CSS 中为特定 View 自定义元素