1

我已经为我的一个按钮设置了一个 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>

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

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

4

1 回答 1

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 关于“调试;”。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/

于 2013-03-06T12:25:40.613 回答