2017-03-09 54 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(); 
}); 
相關問題