触摸事件不能在android上工作

touch event not working on android

本文关键字:工作 android 事件 不能 触摸      更新时间:2023-09-26

我建立了一个聚光灯风格的覆盖,在iphone/平板电脑/和pc上工作良好,但它不能在android设备上工作。这是我正在处理的:

    <script type="text/javascript">
var spot = document.getElementById('spot');
var width = document.documentElement.clientWidth;
var height = document.documentElement.clientHeight;
/* A bit of JS to respond to mouse events */
function moveSpot(e){
    var x = 0;
    var y = 0;
    if (!e) var e = window.event;
    if (e.pageX || e.pageY)
    {
        x = e.pageX;
        y = e.pageY;
    }
    else if (e.clientX || e.clientY)
    {
        x = e.clientX + document.body.scrollLeft;
        y = e.clientY + document.body.scrollTop;
    }

    var style = '-webkit-gradient(radial, '+x+' '+y+', 0, '+x+' '+y+', 100, from(rgba(0,0,0,0)), to(rgba(0,0,0,1)), color-stop(0.8, rgba(0,0,0,0)))';
    spot.style.backgroundImage = style;
}
window.onload = function() {
    //window.onmousemove = moveSpot;
    window.ontouchmove = moveSpot;
}
</script>

我明白了。本质上,您需要将e.pageX和e.pageY更改为event.touches[0]。pageX和event.touch[0]。pageY也在代码中调用event.preventDefault();这似乎解决了问题。