弹出软键盘

弹出软键盘

16 人关注该话题

键盘弹出模式选用“adjustPan” 弹出软键盘

分类: uni-app shefeialiyun@shefeiyy.com 2019-05-16 23:58  发起问题 • 1 人关注 • 0 个回复 • 50 次浏览

打开页面默认弹出键盘 弹出软键盘 autofocus 软键盘 输入法

分类: Native.js 616174149@qq.com 2019-05-10 22:12  回复问题 • 51 人关注 • 29 个回复 • 58724 次浏览

iOS软键盘弹出页面整体上移 弹出软键盘

分类: uni-app aaaa1182527245@163.com 2019-05-10 16:56  回复问题 • 2 人关注 • 1 个回复 • 50 次浏览

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

分类: uni-app yuliang02@daojia-inc.com 2019-05-06 11:00  回复问题 • 2 人关注 • 2 个回复 • 130 次浏览

点击输入框弹出软键盘上面的“完成”如何取消【有图有真相】 输入框 弹出软键盘

分类: MUI DCloud_heavensoft 2019-04-25 15:47  回复问题 • 4 人关注 • 2 个回复 • 884 次浏览

【报Bug】键盘未收起时,点击返回按钮,页面偶发闪屏卡死状态; 弹出软键盘 bug已修复

分类: uni-app DCloud_UNI_HDX 2019-04-15 12:37  回复问题 • 1 人关注 • 1 个回复 • 93 次浏览

【已解决】softinputNavBar参数对于textarea组件不生效 软键盘 弹出软键盘 uniapp

分类: uni-app DCloud_UNI_CHB 2019-04-02 20:00  回复问题 • 1 人关注 • 1 个回复 • 163 次浏览

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

分类: HTML5+ 372758396@qq.com 2019-03-25 16:08  回复问题 • 5 人关注 • 4 个回复 • 1425 次浏览

uni-app中,input获取焦点,将页面顶起,怎么解决? 弹出软键盘

分类: uni-app zhongpei 2019-03-20 17:54  回复问题 • 3 人关注 • 2 个回复 • 1049 次浏览

【报Bug】input组件切换焦点时,键盘迟钝、失效、抖动,页面快速上下滚动。 弹出软键盘 input uniapp

分类: uni-app 白羽 2019-03-16 03:25  发起问题 • 1 人关注 • 0 个回复 • 159 次浏览

mui 和 uniapp 带小数点的数字键盘, 分别怎么写。 HBuilderX uniapp mui 弹出软键盘

分类: HBuilderX DCloud_heavensoft 2019-03-16 02:52  回复问题 • 3 人关注 • 2 个回复 • 352 次浏览

更多...
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有坑,安卓也有坑,花点时间把坑都踩一遍就没什么问题啦~~
更多...