这是对错误关闭的问题的重做:jQuery 1.8 outer Height/Width not working
我遇到了同样的问题。现在返回 jQuery 对象而不是数字outerWidth
。outerHeight
我们使用的是 2012 年 1 月 10 日发布的 jQuery UI 1.8.17。它不是一个超级旧的版本,所以我感觉其他人会看到这个。由于一些糟糕的 jQuery ui 插件,我们被锁定在这个版本中,因此目前无法选择升级。
如果我找到解决方案,我会回答这个问题。
这是一个演示问题的小提琴http://jsfiddle.net/delvarworld/yxDHu/(在“管理资源”中添加了 jQuery UI 版本)
更新:这是因为 jQuery UI 中的这一行:
return orig[ "outer" + name ].call( this, size );
在 jQuery 1.8.2 中错误地触发了这种情况:
var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
因为即使size
未定义,检查也是针对arguments.length
. chainable 在这里应该是假的。你可以传入 undefined ,它仍然会使参数成为长度为 1 的对象。有人需要阅读他们的 JS ;)