不引人注目的JQuery无法在IE8中运行?

时间:2013-03-06 12:10:02

标签: 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 = $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>

它几乎是最后一个脚本。

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

1 个答案:

答案 0 :(得分:0)

此代码完美无缺。正如@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>

编辑:我编辑为@ devnull69评论“debugging;”。 JS中接受没有副作用的语句,因此脚本不会因为“调试”而崩溃。

这是有效的JS:

$(function () {
    $('#my_button').click(function () {
        'use strict';
        'or better, do not use strict';
        var x = 83;
        x;
        alert('button got clicked!');
    });
});

尝试一下:http://jsfiddle.net/SQgdK/1/