zoukankan      html  css  js  c++  java
  • 浏览器模拟touch

            var ele =  document.getElementById('trackLine')
            //may have x and y properties in some browsers,But it always has left, top, right, and bottom properties.
            var rect = ele.getBoundingClientRect(); 
            var touch = new Touch({
                "identifier" : 0,
                "target" : ele,
                "clientX" : (rect.left + rect.right)/2,
                "clientY" : (rect.top + rect.bottom)/2,
                "screenX" : (rect.left + rect.right)/2,
                "screenY" : (rect.top + rect.bottom)/2,
                "pageX" : (rect.left + rect.right)/2,
                "pageY" : (rect.top + rect.bottom)/2,
                "radiusX" : 11.5,
                "radiusY" : 11.5,
                "rotationAngle" : 0.0,
                "force" : 1});
            
            var touchstart = new TouchEvent("touchstart", {
                cancelable: true,
                bubbles: true,
                composed: true,
                touches: [touch],
                targetTouches: [touch],
                changedTouches: [touch]
            });
            
            var touchend = new TouchEvent("touchend", {
                cancelable: true,
                bubbles: true,
                composed: true,
                touches: [touch],
                targetTouches: [touch],
                changedTouches: [touch]
            });
            
            
            
            ele.dispatchEvent(touchstart);
            
            window.interval = setInterval(function(){
                var touch = new Touch({
                "identifier" : 0,
                "target" : ele,
                "clientX" : (rect.left* Math.random() + rect.right * Math.random())/2,
                "clientY" : (rect.top* Math.random() + rect.bottom* Math.random())/2,
                "screenX" : (rect.left* Math.random() + rect.right* Math.random())/2,
                "screenY" : (rect.top* Math.random() + rect.bottom* Math.random())/2,
                "pageX" : (rect.left* Math.random() + rect.right* Math.random())/2,
                "pageY" : (rect.top* Math.random() + rect.bottom* Math.random())/2,
                "radiusX" : 11.5,
                "radiusY" : 11.5,
                "rotationAngle" : 0.0,
                "force" : 1});
                console.log(touch)
                var touchmove = new TouchEvent("touchmove", {
                    cancelable: true,
                    bubbles: true,
                    composed: true,
                    touches: [touch],
                    targetTouches: [touch],
                    changedTouches: [touch]
                });
                ele.dispatchEvent(touchmove);
            }, 20);
    
            
            
                
  • 相关阅读:
    iOS的一些面试题分析总结(1)
    iOS的一些面试题分析总结(0)
    iOS页面间传值的一些方式总结
    自定义UIButton
    iOS查看3D效果的手势交互
    关于php得到参数数据
    ios安装ipa与安卓安装apk
    听说程序员想当就能当?
    W5100S、W5500、W5100差异对比
    annot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-clean-plugin:maven
  • 原文地址:https://www.cnblogs.com/rubekid/p/13922846.html
Copyright © 2011-2022 走看看