Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Element.getOffsets() is broken in iOS 4.3 if using -webkit-transform #2245
Element.getOffsets() is not reporting the correct values if an element is within a div that has been translated using the -webkit-transform property in MobileSafari in iOS 4.3.1. This is the case as tested on my iPhone 3GS and iPad 1, both with iOS 4.3.1.
Please see the attached HTML file to see a test case. The red border box should have the getOffsets() values of the red box itself, it reads (20, 20) on webkit browsers on my Mac, as expected, but is instead (20+width_of_browser_window, 20) on iOS. The red box is within a DIV that had been translated to the left using -webkit-transform, the red box is itself translated to the right to compensate.
Seems to me the problem is in line 4313 of mootools_core_1.3.1.js, as for some reason this.getBoundingClientRect is ignored for iOS. Whatever issue that prevented this.getBoundingClientRect from being used in iOS I presume has been fixed in 4.3, as if I remove the ios check, the test case works as intended.