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);
    
            
            
                
  • 相关阅读:
    张旭结对编程作业
    团队第一次作业(软工C#造梦厂)
    张旭第二次作业
    跨域问题
    .Net Core3.1使用AspectCore
    .Net中HttpClient之SendAsync方法
    两个具有相同属性的类赋值
    工具类--HttpUtils
    工具类--CacheHelper
    工具类--JsonHelper
  • 原文地址:https://www.cnblogs.com/rubekid/p/13922846.html
Copyright © 2011-2022 走看看