弹出软键盘

弹出软键盘

19 人关注该话题

移动开发,input如何禁止软键盘弹出 弹出软键盘

分类: HTML5+ zhaoliang.ma@efastserv.com 6 小时前  回复问题 • 9 人关注 • 7 个回复 • 1817 次浏览

【报Bug】 v2.2.2 键盘弹出效果不一致 插件讨论 弹出软键盘

分类: uni-app w8023w 2 天前  发起问题 • 1 人关注 • 0 个回复 • 28 次浏览

【报Bug】软键盘弹出时 执行返回事件 键盘不会收起 弹出软键盘 返回

分类: uni-app lalalala 2019-09-06 18:21  回复问题 • 1 人关注 • 2 个回复 • 34 次浏览

【报Bug】app-plus平台开启自定义组件模式后,input聚焦,不弹窗键盘 弹出软键盘

分类: uni-app 1052036428@qq.com 2019-09-04 14:18  回复问题 • 3 人关注 • 3 个回复 • 244 次浏览

【报Bug】软键盘弹出时页面 弹出软键盘

分类: uni-app DCloud_Android_ST 2019-08-28 17:53  回复问题 • 1 人关注 • 1 个回复 • 83 次浏览

精华 ios下弹出软键盘后header会随着页面的滚动而消失在顶部 iOS 弹出软键盘

分类: MUI DCloud_heavensoft 2019-08-27 15:33  回复问题 • 28 人关注 • 15 个回复 • 19429 次浏览

软键盘隐藏之后留下空白 弹出软键盘 bug已修复

分类: uni-app 457308699@qq.com 2019-08-27 09:39  回复问题 • 11 人关注 • 12 个回复 • 716 次浏览

【报Bug】nvue(subnvue)的input 键盘高度安卓无法获取 弹出软键盘 bug已修复

分类: uni-app DCloud_App_Array 2019-08-26 17:13  回复问题 • 2 人关注 • 8 个回复 • 147 次浏览

【报Bug】软键盘留下阴影 弹出软键盘

分类: uni-app 312465087@qq.com 2019-08-16 13:34  回复问题 • 2 人关注 • 3 个回复 • 107 次浏览

更多...
3

赞同来自: DIOGO beckzl 2631567162@qq.com

更新于2016-1-15,最新答案见:[http://ask.dcloud.net.cn/article/513](http://ask.dcloud.net.cn/article/513)


============以下为历史答案=============... 显示全部 »
更新于2016-1-15,最新答案见:[http://ask.dcloud.net.cn/article/513](http://ask.dcloud.net.cn/article/513)


============以下为历史答案==================
autofocus不一定在所有Android平台支持自动弹出软键盘,可以通过native.js来强制弹出:
```javascript
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Native.js</title>
<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
var Context = plus.android.importClass("android.content.Context");
var InputMethodManager = plus.android.importClass("android.view.inputmethod.InputMethodManager");
var main = plus.android.runtimeMainActivity();
var imm = main.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0,InputMethodManager.SHOW_FORCED);
}
document.addEventListener("plusready",plusReady,false);
</script>
</head>
<body>
<button onclick="plus.webview.currentWebview().close()">Close</button><br/>
<input type="text" autofocus="autofocus"/>
<br/>
打开页面后编辑框自动获取焦点并显示软键盘
</body>
</html>
```

**注意:autofocus属性只有4.0以上版本才支持**

iOS打开页面自动弹出键盘(input不要添加autofocus)
```javascript
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Native.js</title>
<script type="text/javascript">
// H5 plus事件处理
function plusReady(){

var webView = plus.webview.currentWebview().nativeInstanceObject();
webView.plusCallMethod({"setKeyboardDisplayRequiresUserAction":false});
document.getElementById("testautofocus").focus();
}
document.addEventListener("plusready",plusReady,false);
</script>
</head>
<body>
<button onclick="plus.webview.currentWebview().close()">Close</button><br/>
<input type="text" id="testautofocus"/>
<br/>
打开页面后编辑框自动获取焦点并显示软键盘
</body>
</html>
```
1

赞同来自: wyinhe

在执行show的时候需要让当前webview获取焦点。因此需要加句代码,如下:
var webview = plus.android.currentWebview();
plus.android.importClass(webview);
webview.r... 显示全部 »
在执行show的时候需要让当前webview获取焦点。因此需要加句代码,如下:
var webview = plus.android.currentWebview();
plus.android.importClass(webview);
webview.requestFocus();
12

赞同来自: 五块钱的果汁 缘多多 DCloud_heavensoft 马脸老男人 715527816@qq.com 大馒头小咸菜 Trust 周羊羊 hoyche@163.com ggggggmt Yizhiyu SeanChi 更多 »

**这个问题是已经可以解决了的,不信可以去看mui demo里面的那个聊天程序 im-chat.html**

首先说一下为什么会出现这个情况,那是因为ios弹出软键盘的时候,webview的高度没有变化导致超出屏幕范围,而plus这时候又会自动把header... 显示全部 »
**这个问题是已经可以解决了的,不信可以去看mui demo里面的那个聊天程序 im-chat.html**

首先说一下为什么会出现这个情况,那是因为ios弹出软键盘的时候,webview的高度没有变化导致超出屏幕范围,而plus这时候又会自动把header的 position:fixed 属性设置为 position:relative,header就跟着滚动了。。。。

解决办法很简单,只要是现在最新版本的plus,都有这个
```javascript
plus.webview.currentWebview().setStyle({
softinputMode: "adjustResize" // 弹出软键盘时自动改变webview的高度
});
```
只要你在plusready里面写入这个,就可以解决header跟着滚动的问题


==============问题结束分割线===============

虽然楼主可能没遇到,不过也再顺便补充一个:如果页面中包含header、mui-content、footer,当mui-content内容很多,已经可以滚动,这时候弹出键盘,又会出现header可以滚动的情况

这时候已经不是plus的问题了,而是css的问题(ios的坑),而是webview已经改变高度了,但是html、body的高度没有改变。

解决办法就是写一段css样式:
```javascript
html, body {
height: 100%;
margin: 0px;
padding: 0px;
overflow: hidden;
-webkit-touch-callout: none;
-webkit-user-select: none;
}
```
只要写了这段样式,页面就会随着webview的改变而改变


其实plus、mui框架很好用,只是plus有坑,ios有坑,安卓也有坑,花点时间把坑都踩一遍就没什么问题啦~~
更多...