Javascript 低调的JQuery在IE8中不起作用?

Javascript 低调的JQuery在IE8中不起作用?,javascript,jquery,asp.net-mvc,asp.net-mvc-3,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 3,我已经悄悄地在我的一个按钮上设置了onclick事件,它在Firefox、Chrome、Safari和Opera中运行良好。但在IE8中,从不调用脚本(从不执行调试器语句) 剧本: $(function () { $('#template-button').click(function () { debugger; var $templateDdl = $('#templateDdl'); var selTempID = $template

我已经悄悄地在我的一个按钮上设置了onclick事件,它在Firefox、Chrome、Safari和Opera中运行良好。但在IE8中,从不调用脚本(从不执行调试器语句)

剧本:

$(function () {
    $('#template-button').click(function () {
        debugger;
        var $templateDdl = $('#templateDdl');
        var selTempID = $templateDdl.val();
        var url = $templateDdl.data('url');
        $.post(url, { selectedTemplateID: selTempID }, function (data) {
            $('#template').html(data);
        });
    });
});
按钮:

<input type="button" value="Verander template" id="template-button" />

JQuery位于名为artsportaal.js的单独文件中,该文件加载在_Layout.cshtml中:

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.ui.core.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.ui.datepicker.min.js")" type="text/javascript"></script>

<script src="@Url.Content("~/Scripts/IG/infragistics.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/IG/infragistics.loader.js")" type="text/javascript"></script>

<script src="@Url.Content("~/Scripts/artsportaal.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/DatePickerReady.js")" type="text/javascript"></script>

它几乎是作为最后一个脚本加载的


这是一个众所周知的解决问题吗?我做错什么了吗?感谢您抽出时间和对我的问题感兴趣。

这段代码非常有效。正如@ravisoni所评论的,我可能是因为名字冲突

<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>

    <script type="text/javascript">

        $(function () {
            $('#my_button').click(function () {
                alert('button got clicked!');
            });
        });

    </script>

</head>
<body>
    <input type="button" value="click_me" id="my_button" />
</body>
</html>

试试看:

也许按钮属性Id在html页面上出现了两次。检查一下first@devnull69事实上,它是有效的。Chrome开始暂停执行(这很奇怪…),而IE8只是忽略了它,这是应该的。在JS中,您可以编写没有赋值或执行的语句,如“use strict”哈哈;或var x=5;然后只有x;我学到了一些新东西。实际上有一个“debugger;”语句。。。无论是谁发明了这个,都忽略了所有的标准,应该被起诉:我知道
调试器
是一个有效的Javascript构造,但它实际上不应该做任何事情。。。就像
x
var x=5之后不会执行任何操作我对整个Web开发世界都是新手。那么调试Java脚本的标准是什么?我非常愿意遵守。我发现的最快、最有效的就是debugger语句,仅此而已。你把注意力集中在错误的事情上,这不是我的问题。。。该脚本在除IE8之外的所有其他浏览器中都能完美运行。恐怕我还不完全清楚。以你为例,我也能让它起作用。但是,如果我将javascript函数放在单独的.js文件中(就像我的情况一样),它不会。记住,它适用于所有其他浏览器。例如,我已经在_Layout.cshtml中加载了脚本文件。。。不是这样的。请确保在加载jQuery.js之后加载了external.js。它在一起工作而不是单独工作没有任何意义。这是加载的最后一个脚本。如果您直接在文档上编写脚本,它可以工作,但是如果您将其放入外部文件中,它就不工作了。。。嗯。如果您确定按正确的顺序加载了这两个.js文件,我想说的最后一个想法是,您没有正确加载这两个文件中的任何一个。您是否在不同的浏览器中尝试过此配置(2个文件)?你确定它只在IE8中失败吗?检查路径,打开页面源代码(右键单击),您将看到指向.js文件的超链接。如果你点击他们,他们没有把你带到javascript代码,你知道错误在哪里。是的,先生!我已经检查了所有浏览器,否则我不敢发布。我已经用附加信息更新了我原来的帖子。我还要告诉你更重要的事!js中的代码正在工作,因为我刚刚在IE8中检查了它。事实上,我没有问题,直到一位同事问我是否可以用IE解决他的问题。然后我发现我的按钮“死了”。
$(function () {
    $('#my_button').click(function () {
        'use strict';
        'or better, do not use strict';
        var x = 83;
        x;
        alert('button got clicked!');
    });
});