jQuery 1.8.2 + noncurrent jQuery UI = outerWidth and outerHeight broken
jquery, outerwidth, version
Solution
A simple solution seems to be just passing in `false`
$(document.body).outerWidth(false);
Or, true if you want the margins, but if you were passing in true it looks like you would not have encountered this bug.
Problem
This is a re-do of a question that was closed erroneously: jQuery 1.8 outer Height/Width not working I'm hitting the same issue. `outerWidth` and `outerHeight` and now returning the jQuery object instead of numbers. We are using jQuery UI 1.8.17, released Jan 10, 2012. It is not a super old version so I have a feeling other people will see this. We are locked into this version because of some terrible jQuery ui plugins, so upgrading is not currently an option. If I find a solution I will answer this question. Here's a fiddle demonstrating the problem http://jsfiddle.net/delvarworld/yxDHu/ (jQuery UI version added in "manage resources") Update: It's because this line in jQuery UI: ``` return orig[ "outer" + name ].call( this, size ); ``` is erroneously triggering this condition in jQuery 1.8.2: ``` var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), ``` because even though `size` is undefined, the check is for `arguments.length`. chainable should be false here. You can pass in undefined and it will still make arguments an object with length 1. Someone needs to read up on their JS ;)