我正在使用 Jquery 1.7.1 和 iPad1 iOS3。
除非输入元素具有焦点,否则我需要在 scrollstart 上触发一个函数。下面的函数工作了很长时间,但突然间就没有了(我猜是因为切换到了 Jquery 1.7.1)
$(document).on('scroll', function(){
if ( !$("input:focus").length > 0 ) {
self.hideAllPanels();
}
});
特别是 $('input:focus').length = 0,虽然我可以检测到在滚动事件之前触发的焦点事件。
我一直在摆弄一种解决方法:
if ( !$(document.activeElement).get(0).tagName == "input" ){
....
}
但我不确定 activeElement 何时发生变化,因为即使在我“离开”相应元素之后,它似乎也会持续很长时间。
问题:
知道为什么我无法在 iOS 上检测到焦点元素吗?一些提示我可以如何使用 activeElement 进行设置,所以在模糊时,我不再将输入作为 activeElement 也是受欢迎的!
感谢帮助!