JS模拟Touch事件

2019-08-07  本文已影响0人  oaiMZX苗

当前在浏览器console模式下无法采用和click一样的方式touch某个节点,当前最新触发touch事件的方式如下:

        var ele = $('Test');
        var rect = ele.getBoundingClientRect();
        var touch = new Touch({
            "identifier" : 0,
            "target" : ele,
            "clientX" : rect.x + rect.width/2,
            "clientY" : rect.y + rect.height/2,
            "screenX" : rect.x + rect.width/2,
            "screenY" : rect.x + rect.width/2,
            "pageX" : rect.x + rect.width/2,
            "pageY" : rect.x + rect.width/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);
        ele.dispatchEvent(touchend);
上一篇下一篇

猜你喜欢

热点阅读