Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery 1.8.2+;非当前jQuery UI=外径和外径断开_Jquery_Version_Outerwidth - Fatal编程技术网

jQuery 1.8.2+;非当前jQuery UI=外径和外径断开

jQuery 1.8.2+;非当前jQuery UI=外径和外径断开,jquery,version,outerwidth,Jquery,Version,Outerwidth,这是一个错误关闭的问题的重演: 我也在讨论同样的问题outerWidth和outerwight现在返回jQuery对象而不是数字 我们使用的是2012年1月10日发布的jQueryUI1.8.17。这不是一个超旧版本,所以我有一种感觉,其他人会看到这一点。由于一些糟糕的jQueryUI插件,我们被锁定在这个版本中,所以升级目前不是一个选项 如果我找到解决办法,我会回答这个问题 这里有一把小提琴演示了这个问题(在“管理资源”中添加了jqueryui版本) 更新:这是因为jQuery UI中的这一行

这是一个错误关闭的问题的重演:

我也在讨论同样的问题
outerWidth
outerwight
现在返回jQuery对象而不是数字

我们使用的是2012年1月10日发布的jQueryUI1.8.17。这不是一个超旧版本,所以我有一种感觉,其他人会看到这一点。由于一些糟糕的jQueryUI插件,我们被锁定在这个版本中,所以升级目前不是一个选项

如果我找到解决办法,我会回答这个问题

这里有一把小提琴演示了这个问题(在“管理资源”中添加了jqueryui版本)

更新:这是因为jQuery UI中的这一行:

return orig[ "outer" + name ].call( this, size );
在jQuery 1.8.2中错误触发此条件:

var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),

因为即使未定义
size
,也会检查
参数.length
。chaineable在这里应该是false。您可以传入未定义的参数,它仍然会使参数成为长度为1的对象。有人需要仔细阅读他们的JS;)

我建议升级jQuery和jQuery UI包。1.8.1和1.8.2特别解决了与outerWidth/outerHeight相关的问题,当然jQuery UI需要保持同步

请参见公告上的变更日志以供参考:


一个简单的解决方案似乎只是传入
false

$(document.body).outerWidth(false);

或者,如果您需要边距,则为true,但如果您传递的是true,则看起来您不会遇到此错误。

看起来这是jqueryUI问题。似乎已在1.8.22中修复

使用jquery UI 1.8.21:


使用jquery UI 1.8.22(已修复):

错误已打开:+1用于重新打开问题。根据
includeMargin
是一个可选参数,但如果未设置为true/false,它仍然(jquery 1.8.3)返回元素。无法根据问题升级。由于jquery应该是向后兼容的,如果您阅读了博客,这就是一个问题——jquery 1.8在outerWidth/outerHeight方面存在问题。尝试将jQuery本身升级到1.82.看看是否有帮助。我遇到了jQuery 1.82.和jQuery UI 1.817-这导致基础轨道滑块不能滑动的问题。我花了一段时间才发现outerWidth()被破坏了-升级到最新的jQuery UI 1.10.0修复了这个问题。同意。Via:“请将jqueryUI升级到1.8.22,因为这是一个与jQuery1.8兼容的版本。”我同意rkallensee——这是一个巨大的诊断难题。这似乎是一个粗糙的解决方案。我必须修改每个jQueryUI插件中的每个outerWidth/outerHeight调用,以在还没有true时传递false。真正的问题是jQueryUI的重写方法设计得不够好(从OP版本开始)。因此,正确的解决方案应该用更智能的逻辑修改jQueryUI的扩展——修复问题而不是症状。