javascript - 即使单击屏幕的 iframe 部分,也可以捕获 body onclick() 的最佳方法,以检测触摸屏
问题描述
我想在网页上单击或触摸任何内容的确切时刻调用一个函数。函数用来验证是否有使用触摸屏,然后我会打开虚拟键盘。
当点击屏幕的 iframe 部分时,似乎没有调用这个 onclick?
<body onclick="openvirtual();" >
function hasTouch() {
try {
document.createEvent("TouchEvent");
return true;
} catch (e) {
return false;
}
}
var touchPresent = hasTouch();
var clickedalready = 0;
function openvirtual() {
console.warn("open virtual check" +touchPresent);
if ((touchPresent) && (clickedalready == 0)) {
//OPEN VIRTUAL KEYBOARD HERE
input.focus();
clickedalready = 1;
}
return false;
};
解决方案
尝试使用 ontouchstart="openvirtual();" 我在移动设备上的 onclick 方法也有一些问题,但它解决了我的问题。
推荐阅读
- c# - 按它们的值比较两个字典的条目,然后返回它们各自的键?
- r - 如何重新编码 unicode char,如 "\xe9" 和 "
" 到 R 中的 "é"? - javascript - JavaScript:如何将具有嵌套数组的对象映射到 React 表
- java - 如何读取具有不同标题的多个平面文件并使用弹簧批处理一次处理它们
- netbeans - 无法在 Netbeans 11.1 中创建会话 Bean
- javascript - JavaScript将长十进制转换为十六进制并返回
- javascript - 从 vuejs 应用程序调用 JS 库中的函数
- python - 从相同索引处值差异最小的列表中查找对
- python-3.x - 如何在所有任务都提交之前阻止任务的执行?
- timer - STM32 - 定时器更新中断不起作用