鍍金池/ 問答/Android  網(wǎng)絡(luò)安全  HTML/ touch事件如何判斷是否離開

touch事件如何判斷是否離開

RT,例如,在某些情況下,touchmove中的時候,直接移出屏幕或其他情況,會導(dǎo)致觸發(fā)不了touchend事件,此問題如何解決

回答
編輯回答
別硬撐

touchmove時不讓其移出可視窗口,或者touchend事件加在document上

function touch(id){
            var obj = document.getElementById(id); 
            obj.addEventListener('touchstart', function(event) {     
            if (event.targetTouches.length == 1) { 
            var touch = event.targetTouches[0]; 
            var disX=touch.pageX-obj.offsetLeft; 
            var disY=touch.pageY-obj.offsetTop;
            var W = document.documentElement.clientWidth-obj.offsetWidth;
            var H = document.documentElement.clientHeight-obj.offsetHeight;
            obj.addEventListener('touchmove',move);  
            function move(event){    
                event.preventDefault();
                    var touch2=event.targetTouches[0];
                    var l=touch2.pageX-disX;
                    var t=touch2.pageY-disY;
                    if(l<0){
                        l=0;
                    };
                    if(l>W){
                        l=W;
                    };
                    if(t<0){
                        t=0;
                    };
                    if(t>H){
                        t=H;
                    };
                    obj.style.left=l+'px';
                    obj.style.top=t+'px';
         
            };
              obj.addEventListener('touchend',chend);
              function chend(event){
                obj.removeEventListener('touchmove',move);
                obj.removeEventListener('touchend',chend);
              };
        }; 
        }, false);
    };
2018年9月11日 02:24