Created
June 9, 2010 15:26
-
-
Save mataspetrikas/431639 to your computer and use it in GitHub Desktop.
fix jQuery.offset() in Mobile Safari (iPad, iPhone)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// as of 1.4.2 the mobile safari reports wrong values on offset() | |
// http://dev.jquery.com/ticket/6446 | |
// remove once it's fixed | |
if ( /webkit.*mobile/i.test(navigator.userAgent)) { | |
(function($) { | |
$.fn.offsetOld = $.fn.offset; | |
$.fn.offset = function() { | |
var result = this.offsetOld(); | |
result.top -= window.scrollY; | |
result.left -= window.scrollX; | |
return result; | |
}; | |
})(jQuery); | |
} |
Thanks! Works perfectly :)
Would love to know how to implement your fix to Jquery Tookit's Tooltips. Once you scroll, the tooltips appear in the wrong location. (http://flowplayer.org/tools/tooltip/index.html)
I think this is still an issue today. I found wrapping it in a timeout solved it which tells me that even if document.ready has fired...mobile safari is still laying things out and getting wrong calculations.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
related to this bug http://dev.jquery.com/ticket/6446