弹出软键盘

弹出软键盘

14 人关注该话题

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

分类: HTML5+ 372758396@qq.com 3 小时前  回复问题 • 5 人关注 • 4 个回复 • 1230 次浏览

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

分类: uni-app zhongpei 5 天前  回复问题 • 3 人关注 • 2 个回复 • 696 次浏览

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

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

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

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

【报Bug】nuve界面中IOS键盘收回后,页面布局没有归位 弹出软键盘

分类: nvue liufei_live@163.com 2019-02-28 12:13  回复问题 • 4 人关注 • 4 个回复 • 179 次浏览

软键盘弹出时会先弹出一块灰色层,如何能去掉或将它透明化? 输入法 软键盘 弹出软键盘

分类: HBuilder 970245440@qq.com 2019-01-22 10:34  回复问题 • 7 人关注 • 5 个回复 • 461 次浏览

【报Bug】:focus 动态设置无法弹起键盘 弹出软键盘

分类: uni-app DCloud_UNI_Trust 2019-01-16 12:47  回复问题 • 1 人关注 • 1 个回复 • 212 次浏览

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

分类: Native.js 920625433@qq.com 2019-01-15 11:19  回复问题 • 50 人关注 • 28 个回复 • 57477 次浏览

【报Bug】底部选项卡input不弹键盘 input 弹出软键盘 底部选项卡

分类: HBuilder 1191658459@qq.com 2018-11-05 13:48  回复问题 • 2 人关注 • 2 个回复 • 380 次浏览

键盘弹出问题! 弹出软键盘

分类: wap2app DCloud_App_Array 2018-10-29 11:01  回复问题 • 2 人关注 • 1 个回复 • 297 次浏览

plus.key.showSoftKeybord()为什么无效 弹出软键盘

分类: HTML5+ yekai@ningbosteel.com 2018-08-21 13:27  发起问题 • 1 人关注 • 0 个回复 • 258 次浏览

弹出键盘 自动跳回上一页? 弹出软键盘

分类: MUI 顾明扬 2018-08-03 18:13  回复问题 • 2 人关注 • 3 个回复 • 331 次浏览

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