要加载和jQuery的特定页面的初始化多个JS插件

问题描述 投票:1回答:1

if ($(".section").length) {
  var script_arr = [
    'moment.js',
    'daterangepicker.js',
  ];
  $.getMultiScripts(script_arr);
}
$(function() {
  $('#date-picker').daterangepicker({
    "opens": "left",
    singleDatePicker: true,
    isInvalidDate: function(date) {
      var disabled_start = moment('09/02/2018', 'MM/DD/YYYY');
      var disabled_end = moment('09/06/2018', 'MM/DD/YYYY');
      return date.isAfter(disabled_start) && date.isBefore(disabled_end);
    }
  });
});

在上面的代码,我已加载特定页面上的多个剧本,但我无法正确初始化这些脚本。

javascript jquery
1个回答
1
投票

这是因为daterangepicker.js尚未加载,在回调或done()函数执行脚本。

if ($(".section").length) {
  var script_arr = [
    'moment.js',
    'daterangepicker.js',
  ];
  $.getMultiScripts(script_arr).done(function() {
    $('#date-picker').daterangepicker({
      "opens": "left",
      singleDatePicker: true,
      isInvalidDate: function(date) {
        var disabled_start = moment('09/02/2018', 'MM/DD/YYYY');
        var disabled_end = moment('09/06/2018', 'MM/DD/YYYY');
        return date.isAfter(disabled_start) && date.isBefore(disabled_end);
      }
    });
  });
}
© www.soinside.com 2019 - 2024. All rights reserved.