VirtualKeyboard: show() 方法
show() 方法是 VirtualKeyboard 接口的一个方法,用于以编程方式显示屏幕上的虚拟键盘。当页面需要实现自己的虚拟键盘逻辑时,这非常有用,尤其是在 contenteditable 元素上使用 virtualkeyboardpolicy 属性时,具体请参见 控制 contenteditable 元素上的虚拟键盘。
此方法仅在当前聚焦的元素是表单控件(例如 <input> 或 <textarea> 元素)时有效,或者当聚焦的元素是 contenteditable 元素,并且当前聚焦元素的 virtualKeyboardPolicy 属性设置为 manual 且 inputmode 未设置为 none 时有效。
show() 方法始终返回 undefined,并触发一个 geometrychange 事件。
语法
js
show()
参数
无。
返回值
Undefined。
示例
以下代码段展示了如何使用 virtualkeyboardpolicy 属性来阻止浏览器在单击或点按时显示虚拟键盘。该代码还使用 navigator.virtualKeyboard.show() 和 navigator.virtualKeyboard.hide() 方法在单击按钮时显示和隐藏虚拟键盘。
html
<div contenteditable virtualkeyboardpolicy="manual" id="editor"></div>
<button id="edit-button">Edit</button>
js
if ("virtualKeyboard" in navigator) {
const editor = document.getElementById("editor");
const editButton = document.getElementById("edit-button");
let isEditing = false;
editButton.addEventListener("click", () => {
if (isEditing) {
navigator.virtualKeyboard.hide();
editButton.textContent = "Edit";
} else {
editor.focus();
navigator.virtualKeyboard.show();
editButton.textContent = "Save changes";
}
isEditing = !isEditing;
});
}
规范
| 规范 |
|---|
| VirtualKeyboard API # dom-virtualkeyboard-show |
浏览器兼容性
加载中…