Anytime.js Javascript日期选择器引发控制台错误

Anytime.js Javascript日期选择器引发控制台错误,javascript,jquery,wordpress,debugging,Javascript,Jquery,Wordpress,Debugging,我正在使用为我定制的WordPress插件的anytime.js datepicker库。我这么说是因为我不是最初的开发人员,我害怕删除库并替换它,以防这意味着替换大量对该库专用的函数的调用 您可以在此处看到该库: 不幸的是,从版本3.3开始,该库正在破坏WordPress后端的一些关键功能。我已经确认,禁用库完全可以解决问题 Google Chrome的控制台抛出以下错误: Uncaught TypeError: Cannot read property 'left' of null AnyT

我正在使用为我定制的WordPress插件的anytime.js datepicker库。我这么说是因为我不是最初的开发人员,我害怕删除库并替换它,以防这意味着替换大量对该库专用的函数的调用

您可以在此处看到该库:

不幸的是,从版本3.3开始,该库正在破坏WordPress后端的一些关键功能。我已经确认,禁用库完全可以解决问题

Google Chrome的控制台抛出以下错误:

Uncaught TypeError: Cannot read property 'left' of null
AnyTime.picker.__pickers.(anonymous function).posanytime.js:3032
AnyTime.picker.__pickers.(anonymous function).initializeanytime.js:1858
f.event.dispatchload-scripts.php:3
f.event.add.h.handle.iload-scripts.php:3
f.event.triggerload-scripts.php:3
f.fn.extend.triggerHandlerload-scripts.php:3
(anonymous function)load-scripts.php:3
f.Callbacks.nload-scripts.php:2
f.Callbacks.o.fireWithload-scripts.php:2
e.extend.readyload-scripts.php:2
c.addEventListener.B
anytime.js的以下行(3027-3039)中,第3032行
var left=off。根据控制台,left
是有问题的代码行:

        if ( this.pop )
        {
          var off = this.inp.offset();
          var bodyWidth = $(document.body).outerWidth(true);
          var pickerWidth = this.div.outerWidth(true);
          var left = off.left;
          if ( left + pickerWidth > bodyWidth - 20 )
            left = bodyWidth - ( pickerWidth + 20 );
          var top = off.top - this.div.outerHeight(true);
          if ( top < 0 )
            top = off.top + this.inp.outerHeight(true);
          this.div.css( { top: String(top)+'px', left: String(left<0?0:left)+'px' } );
        }
if(this.pop)
{
var off=this.inp.offset();
var bodyWidth=$(document.body).outerWidth(true);
var pickerWidth=this.div.outerWidth(true);
var left=off.left;
如果(左+拾取宽度>车身宽度-20)
左=车身宽度-(选取宽度+20);
var top=off.top-this.div.outerHeight(true);
如果(顶部<0)
顶部=off.top+此.inp.outerHeight(真);

this.div.css({top:String(top)+'px',left:String(left问题是页面试图为不存在的字段创建选择器。问题的原因不在anytime.js中,而是在内联脚本中(具体地说,编辑浏览器报告的.php第54行和第55行)


似乎每个
页面都会调用相同的选择器创建代码,无论日期字段是否存在。页面不应该尝试为不存在的字段创建选择器!

结果表明,它不是anytime.js,而是自定义插件中调用它的方式。交换inlin的格式e
调用原来是解决方案。但是@Andrew做对了,因为它不是插件,而是实现。