首页 > 解决方案 > 即使单击屏幕的 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;

    };

标签: javascriptandroid

解决方案


尝试使用 ontouchstart="openvirtual();" 我在移动设备上的 onclick 方法也有一些问题,但它解决了我的问题。


推荐阅读