jquery导致键盘在android上出现/消失

时间:2015-04-22 01:40:00

标签: android jquery input keyboard qwerty

我有一个响应式网页,当我从一个尺寸变为一个尺寸时,我想用jquery重新排序。一切都很棒,除非我重新排序一个有输入的元素(例如DIV),比如搜索表单:

  

$('#searchfrm')。insertAfter('#bodyfrm');

如果我这样做,当我点击输入时,键盘会出现一秒钟然后消失。这只发生在Android上,在iPhone上完美运行。

如果我评论代码行,输入在Android上完美运行,但我不希望搜索表单在顶部,而是在响应式设计的页面底部。

如何防止这种情况发生?谢谢!

2 个答案:

答案 0 :(得分:1)

我发现问题在于重新排序元素。重新排序过程一直在进行,所以在Android中,当键盘出现时,jquery再次重新排序,使键盘消失。解决方案是在jquery中添加一个变量以防止重新排序过程,例如,当从1024到700时,只执行一次。

答案 1 :(得分:0)

我遇到了类似的问题,但是发现这是由于$(window).on("resize",function(){...});而不是用于重新定位元素的.insertAfter脚本引起的。

如果您重新定位的元素具有一个输入字段,并且该输入字段处于焦点位置〜Android打开键盘的默认行为实际上会调整浏览器的大小,从而导致函数循环。 -参考:(dealing-androids-constant-browser-resizing)。改变功能以在(加载)而不是(调整大小)上触发对我有用。 $(window).on("load",function(){...});