在输入之间保持 iPad 键盘向上
Posted
技术标签:
【中文标题】在输入之间保持 iPad 键盘向上【英文标题】:Keeping an iPad keyboard up between inputs 【发布时间】:2014-04-23 15:54:38 【问题描述】:现在我正在使用一些 jQuery 来在输入失去焦点时隐藏 iPad 键盘。
jQuery(function($)
$(document).on('touchend', function(e)
document.activeElement.blur();
);
);
但是,在结帐等过程中,当用户从输入中单击以输入时,键盘会消失,而每次输入更改时都会重新出现。如果文档上被触摸的位置没有输入类型的文本,是否有任何方法可以将上述 jquery 代码更改为仅模糊活动元素的位置?
【问题讨论】:
【参考方案1】:好吧,我之前没有在 iPad 上尝试过这个,所以我不确定它是否会起作用,但你可以检查document.activeElement
的类型以确定它是文本字段还是文本区域字段。如果不是,请执行您的blur()
。代码是这样的:
jQuery(function($)
$(document).on('touchend', function(e)
setTimeout(function()
var currentElement = document.activeElement;
if ($(currentElement).not("textarea, :text").length > 0)
currentElement.blur();
, 100);
);
);
需要setTimeout
以确保焦点已转移到下一个元素,然后再检查当前元素是什么(立即执行此操作,会将<body>
作为activeElement
返回)。
这种通用方法(即识别当前 activeElement
是什么类型)适用于桌面浏览器环境,并且它应该适用于 iPad,但是,就像我之前说的,我没有机会在那里测试它,所以这更像是一个“可能的解决方案”而不是一个实际的“答案”,直到你试一试并确定它是否适合你。 :D
【讨论】:
遗憾的是,这样做会消除它在 iPad 上的输入模糊中隐藏键盘。不知道为什么,我责怪史蒂夫乔布斯。为这个东西开发是一场噩梦。但是感谢您的尝试! =P 拍得好。 . .从理论上讲,我认为这会起作用(基于我对您当前代码行为方式的理解)。哦,好吧,我很想知道这个问题是如何解决的。 . .祝你好运!以上是关于在输入之间保持 iPad 键盘向上的主要内容,如果未能解决你的问题,请参考以下文章