覆盖jQuery UI DatePicker _generate HTML Function

时间:2011-05-22 01:35:33

标签: jquery-ui jquery-ui-datepicker

在jQuery UI 1.7中,我成功地重写了运行脚本的datepicker._generateHTML函数:

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

当我尝试使用相同的方法升级到1.8版时,我遇到了一个问题。版本1.8添加了一个datepicker闭包范围变量dpuuid,在新版本的“...修订代码...”中引用了该变量。 datepicker._generateHTML现在失败了dpuuid is not defined' error

我对Javascript还不够新,不能理解语言的所有细微方面。所以我的第一个问题是:'是否可以覆盖引用闭包范围变量的函数并仍然可以访问原始闭包范围?'

1 个答案:

答案 0 :(得分:0)

我在Thomas'中找到了答案。回答jQuery DatePicker how to disable auto day selection while browsing calendar?

将以下内容添加到我的修改代码的顶部...':

  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中看到封闭范围是从窗口对象可见的,但不知道如何从中提取值。

谢谢Thomas !!