2017-03-09 74 views
1

有人可能有与此有关的问题。 我做了一个自定义的js脚本,其中包含一些我在MVC View页面中使用的功能。我参考脚本里面的视图:自定义的js脚本在调试模式下工作,但不在Azure上

<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事件。但是,当我以这种方式更改我的代码,并且现在停止在调试模式下工作。

有人有一个想法为什么这个事件发生的问题?

jQuery被引用于_Layout.cshtml

回答

0

你的方式来绑定就绪事件似乎是错误的。请遵循标准的jQuery编码示例。

试试看例如

$(document).ready(function() { 

    // Add more from the Code here 


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