Javascript 让iPad键盘在输入之间保持竖直
现在,当输入失去焦点时,我使用jQuery隐藏iPad键盘Javascript 让iPad键盘在输入之间保持竖直,javascript,jquery,ios,ipad,Javascript,Jquery,Ios,Ipad,现在,当输入失去焦点时,我使用jQuery隐藏iPad键盘 jQuery(function($) { $(document).on('touchend', function(e) { document.activeElement.blur(); }); }); 但是,在诸如签出之类的过程中,当用户从一个输入点单击到另一个输入点时,键盘将消失,并且每次更改输入点时,键盘都会重新出现。有没有办法将上面的jquery代码更改为,如果文档
jQuery(function($) {
$(document).on('touchend', function(e) {
document.activeElement.blur();
});
});
但是,在诸如签出之类的过程中,当用户从一个输入点单击到另一个输入点时,键盘将消失,并且每次更改输入点时,键盘都会重新出现。有没有办法将上面的jquery代码更改为,如果文档上被触摸的地方没有文本输入类型,那么它只会模糊活动元素?嗯,我以前没有在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);
});
});
在检查当前元素是什么之前,需要使用设置超时
,以确保焦点已转移到下一个元素(立即执行此操作将返回
作为活动元素
)
这种通用方法(即,识别当前的
activeElement
是什么类型)在桌面浏览器环境中工作,并且应该在iPad上工作,但是,正如我前面所说,我没有机会在那里测试它,因此这更像是一个“可能的解决方案”,而不是一个实际的“答案”,直到你尝试一下,看看它是否适合你D不幸的是,这样做会使它在iPad上隐藏键盘输入模糊。不知道为什么,我责怪史蒂夫·乔布斯。为此而发展是一场噩梦。但是谢谢你的努力=普威尔射击。从理论上讲,我认为这是可行的(基于我对当前代码行为的理解)。哦,好吧,我很想看看这个问题是怎么解决的。祝你好运