如何使用Jquery:焦点选择器在iOS中的输入元素?

时间:2012-07-27 18:01:41

标签: javascript jquery ios input focus

我正在使用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何时发生变化,因为即使在我“离开”resprective元素之后它似乎也会持续很长一段时间。

问题
知道为什么我无法在iOS上检测到焦点元素吗?一些提示我如何使用activeElement设置它,所以在模糊的情况下,我不再需要输入,因为activeElement也是受欢迎的!

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

$(document).on('scroll', function(){
   if (!$("input").is(':focus')) {  
       self.hideAllPanels();
   }
});

这似乎对我有用,但如果输入元素没有焦点,它会在滚动期间多次触发该函数。

相关问题