I’m using Jquery 1.7.1 and iPad1 iOS3.
I need to fire a function on scrollstart unless an input element has focus. The function below worked for a long time, but all of a sudden it doesn’t (looking aroud I guess because of switching to Jquery 1.7.1)
$(document).on('scroll', function(){
if ( !$("input:focus").length > 0 ) {
self.hideAllPanels();
}
});
Specifically $(‘input:focus’).length = 0, although I can detect the focus event triggering before the scroll event.
I have been fiddling with a workaround using:
if ( !$(document.activeElement).get(0).tagName == "input" ){
....
}
But I’m not sure when the activeElement is changing, because it seems to persist for quite a while even after I’m “leaving” the resprective element.
Question:
Any idea why I can’t detect the focus-ed element on iOS? Some hints how I could set this up with activeElement, so on blur, I’m no longer having the input as activeElement are also welcome!
Thanks for help!
This seems to work for me, but it will fire the function multiple times during scroll if an input element does not have focus.