自定义的js脚本在调试模式下工作,但在Azure上不工作

时间:2017-03-09 07:42:38

标签: javascript jquery azure

有人可能遇到了与此相关的问题。 我已经制作了一个自定义的js脚本,我在MVC View页面中使用了一些功能。我在View中引用了这个脚本:

<script src="~/js/saveNewMeeting.js"></script>

当我从调试模式本地测试我的功能时,一切都很好。但是当我将项目发布到Azure时,我没有saveNewMeeting.js的功能。

当我在Chrome中查看控制台时,我可以在js资源中看到saveNewMeeting.js。所以文件已加载。然后,当我在代码上放置断点以检查它是否最初运行时,我注意到主块永远不会运行:

(function () {
    var addNewMeetingModal = document.getElementById('createNewEventModal');
    var span = document.getElementsByClassName("close")[0];

    document.ready = function () {
        $('#startdatetimepicker').datetimepicker({
            daysOfWeekDisabled: [0, 6]
        });
        $('#enddatetimepicker').datetimepicker({
            daysOfWeekDisabled: [0, 6]
        });
        PopulateVenueSelectList();
    }

    span.onclick = function () {
        addNewMeetingModal.style.display = "none";
    }

    function ClearPopupFormValues() {
        $('#eventID').val("");
        $('#eventTitle').val("");
        $('#enddatepicker').val("");
        $('#startdatepicker').val("");
        $('#endtimepicker').val("");
        $('#starttimepicker').val("");
        $('#venue').empty();
    }

    function PopulateVenueSelectList() {
        var venueSelect = $('#venue');

        venueSelect.prepend("<option value='' selected='selected'></option>");

        $.getJSON("/Meeting/GetAllActiveVenues", null, function (venues) {
            $.each(venues, function (i, venue) {
                $('<option>', {
                    value: venue.id
                }).html(venue.name).appendTo(venueSelect);
            });
        });
    }
})();

它会创建addNewMeetingModalspan变量但永远不会进入document.ready块。所以事件出了问题。

我的想法是,好吧也许我可以使用window.onload事件。但是当我以这种方式改变我的代码并且它现在停止在调试模式下工作时。

有人知道为什么会发生这种事件的问题吗?

_Layout.cshtml中引用了jQuery。

1 个答案:

答案 0 :(得分:0)

你绑定ready事件的方式似乎是错误的。请按照标准的jQuery编码样本进行操作。

试试吧

$(document).ready(function () {

    // Add more from the Code here


    $('#startdatetimepicker').datetimepicker({
        daysOfWeekDisabled: [0, 6]
    });
    $('#enddatetimepicker').datetimepicker({
        daysOfWeekDisabled: [0, 6]
    });
    PopulateVenueSelectList();
});