每当以编程方式将焦点从一个输入字段移动到另一个输入字段时,我希望在 iPhone 上保持键盘可见。 当我第一次设置焦点但随后未能这样做时,代码工作正常。
这是一段代码。知道如何保持键盘可见吗? 现场演示 http://navtest.0fees.net/del/ , 在 iphone 或 ipad 上打开它。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<style>
body{background-color: #efefef;}
input:focus{ color:red; font-size:30px; background: rgba(0,0,0,0.2); }
.button {
font-family: Arial; color: #ffffff; font-size: 35px; padding: 10px;
text-decoration: none; -webkit-border-radius: 28px; -moz-border-radius: 28px;
-webkit-box-shadow: 0px 1px 3px #666666; -moz-box-shadow: 0px 1px 3px #666666;
text-shadow: 1px 1px 3px #666666; border: solid #005157 2px;
background: -webkit-gradient(linear, 0 0, 0 100%, from(#c3f7f4), to(#095461));
background: -moz-linear-gradient(top, #c3f7f4, #095461);
}
.button:hover { background: #19ad02; }
</style>
<head>
<title>I Pad</title>
<script type="text/javascript" src="./jquery-1.7.2.min.js"></script>
</head>
<body>
<button type="button" name="" id="name" value="" class="button">Submit</button>
<input type="text" id="kb" value="" class="button"/>
<input type="text" id="kb1" value="" class="button"/>
<script type="text/javascript">
$('#name').click(function(){
$('#kb').focus();
$('#kb').blur(); //not important
$('#kb1').focus();
});
</script>
</body>
</html>
最佳答案
* 编辑 #2 *
看起来这个问题没有解决方案(至少到目前为止)。
* 结束编辑 #2 *
我认为当您在 Safari 中“模糊”一个字段时它会隐藏键盘,然后当您“聚焦”一个新字段时它会显示键盘。所以,除非你在做一些奇怪的事情(比如在聚焦新领域之后手动模糊旧领域),否则我真的不明白你为什么会有你描述的行为。
* 编辑 *
刚刚查看了您的代码并意识到您做的最后一件事是焦点,它应该使键盘恢复原状。但是,您正在进行手动模糊;我会先尝试删除它,看看它是否能解决问题。
* 结束编辑 *
解决它的一个可能的解决方案是在 onBlur
事件处理程序中使用 e.preventDefault()
。这应该可以防止隐藏键盘的浏览器默认行为。
关于javascript - Html 通过 jquery/javascript 在 iphone 上保持键盘可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11568958/