Переопределить jQuery UI DatePicker _генерировать функцию HTML - PullRequest
3 голосов
/ 22 мая 2011

В jQuery UI 1.7 я успешно переопределил функцию datepicker._generateHTML, запустив скрипт в виде:

jQuery.datepicker._generateHTML = function(inst) {
  ...revised code...
};

Когда я попытался выполнить обновление до версии 1.8, используя тот же подход, я столкнулся с проблемой. В версии 1.8 добавлена ​​переменная объема закрытия средства выбора даты dpuuid, на которую ссылается новая версия «... исправленного кода ...». datepicker._generateHTML теперь завершается с ошибкой dpuuid is not defined' error.

Я все еще недостаточно знаком с Javascript, чтобы не понимать все тонкие аспекты языка. Итак, мой первый вопрос: «Может ли функция, которая ссылается на переменную области замыкания, быть переопределена и по-прежнему обращаться к исходной области замыкания?»

1 Ответ

0 голосов
/ 08 ноября 2014

Я нашел ответ в ответе Томаса для jQuery DatePicker, как отключить автоматический выбор дня при просмотре календаря?

Добавление следующего в начало моего '... исправленного кода... ':

  if (!inst.dpuuid) {
    for (attr in window) {
      if(/^DP_jQuery_/.test(attr)) {
        inst.dpuuid = attr.replace(/^DP_jQuery_([0-9]+)/, '$1');
      }
    }
  }
  var dpuuid = inst.dpuuid;

исключено dpuuid is not defined' error.Я видел в FireBug, что область закрытия видна из оконного объекта, но не знал, как извлечь из него значения.

Спасибо, Томас !!

...