javascript - 如何检测何时显示数字键盘(在移动设备上)?
问题描述
我遇到了一个非常烦人的问题。
我有一个全屏的 html 画布。更改屏幕尺寸时,它会检测到屏幕尺寸已更改并自动将画布重新缩放为“新”全屏。
我将一个对象放入画布(基本上是一个文本输入字段)。
在移动设备上单击此对象时,虚拟键盘会弹出并明显改变屏幕大小。通过这样做,画布缩放到“新”屏幕尺寸。
我想在弹出数字键盘时忽略自动缩放功能。
有什么方法可以检测何时显示数字键盘?
解决方案
我能想到的唯一解决此问题的方法是在显示数字键盘时阻止页面调整大小:
$(function() {
var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
$("html, body").css({"width":w,"height":h});
});
推荐阅读
- android - 有没有办法在 android 物理设备中启用实时重新加载和热重新加载以响应本机开发?
- android - 迁移到 androidx 后 Ionic android 构建错误
- scala - 如何修复“无法从 org.apache.hbase.classification.InterfaceAudience 加载符号”?
- asp.net-core - 从 InMemory 数据库中删除数据时,内存使用量不会减少
- javascript - 通过 jQuery 创建新的 DOM 元素时,为什么要添加空的 Style 属性?
- mongodb - 从对象数组中删除特定的嵌套对象
- azure - USQL 中的 DateTime 自动转换为 parquet 文件中的 Unix Timestamp
- maven - 如何在 pom.xml 中正确排除 springboot-actuator
- javascript - 更改所有出现的字符 javascript/reactjs 的颜色
- sql - 根据具有不同过滤选项的同一列上的 where 条件从表中选择详细信息