# Web组件对接软键盘 开发者能够通过Web组件对接软键盘,来处理系统软键盘的显示与交互问题,同时实现软键盘的自定义功能。主要有以下场景: - 拉起系统软键盘输入文字:点击网页输入框时,屏幕下方将弹出系统默认的软键盘。开发者可以通过软键盘输入文字,输入的内容会显示在输入框中。 - 自定义系统软键盘的回车键类型:设置不同的回车键类型,例如:确认、下一个和提交。 - 软键盘避让:在移动设备上,由于输入法通常固定在屏幕下半段,应用可设置不同的Web页面软键盘避让模式,来避让软键盘。例如:平移、调整大小和不避让。 - 自定义软键盘输入:在移动设备上,可以使用自绘制输入法在Web页面输入,以此替代系统软键盘。 ## Web页面输入框输入与软键盘交互的W3C标准支持 为支持Web页面与系统软键盘、自定义软键盘等的良好交互,ArkWeb遵循并实现了W3C规范中的以下输入控制属性: - type属性 type属性定义了input元素的类型,影响输入的验证、显示方式和键盘类型。常见的type值包括: | type值 | 描述 | | -------- | ---------- | | text | 默认值。普通文本输入 | | number | 数字输入 | | email | 电子邮件地址输入 | | password | 密码输入 | | tel | 电话号码输入 | | url | URL输入 | | date | 日期选择器 | | time | 时间选择器 | | checkbox | 复选框 | | radio | 单选按钮 | | file | 文件上传 | | submit | 提交按钮 | | reset | 重置按钮 | | button | 普通按钮 | - inputmode属性 inputmode属性用于配置输入法类型,默认值:text。 | inputmode | 描述 | | --------- | ---------------------------------------- | | decimal | 只显示数字键盘,通常还有一个逗号键。 | | email | 文本键盘,键通常用于电子邮件地址,如[@]。 | | none | 不应出现键盘。 | | numeric | 只显示数字键盘。 | | search | 文本键盘,[enter]键通常显示为[go]。 | | tel | 只显示数字键盘,通常还有[+]、[*]和[#]键。 | | text | 默认文本键盘。 | | url | 文本键盘,键通常用于网址,如[.]和[/],以及特殊的[.com]键,或者其他通常用于本地设置的域名结束符。 | - enterkeyhint属性 enterkeyhint属性用于指定移动设备虚拟键盘上回车键的显示方式。 | enterkeyhint值 | 描述 | | ------------- | --------- | | enter | 显示默认的回车键 | | done | 表示输入完成 | | go | 表示跳转或执行 | | next | 进入下一个输入字段 | | previous | 返回上一个输入字段 | | search | 执行搜索 | | send | 发送信息 | >**说明:** > >点击网页输入框时,屏幕下方将弹出系统默认的软键盘,用户可以进行文字输入。 > >type属性影响键盘显示、输入验证和元素外观。 > >inputmode优化移动设备键盘输入体验,不影响基本行为或验证。 ## 软键盘自动弹出 为提升用户体验,可以在页面完成加载后,输入框自动获焦并弹出软键盘。通过调用[showTextInput()](../reference/apis-ime-kit/js-apis-inputmethod.md#showtextinput10)设置软键盘自动弹出功能。 ```html
input标签,原有默认行为:
input标签,系统键盘自定义enterKeyType属性 enter key UNSPECIFIED:
input标签,系统键盘自定义enterKeyType属性 enter key GO:
input标签,系统键盘自定义enterKeyType属性 enter key SEARCH:
input标签,系统键盘自定义enterKeyType属性 enter key SEND:
input标签,系统键盘自定义enterKeyType属性 enter key NEXT:
input标签,系统键盘自定义enterKeyType属性 enter key DONE:
input标签,系统键盘自定义enterKeyType属性 enter key PREVIOUS:
input标签,应用自定义键盘: