Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在手机上禁用脚本_Javascript_Dom_Mobile - Fatal编程技术网

Javascript 如何在手机上禁用脚本

Javascript 如何在手机上禁用脚本,javascript,dom,mobile,Javascript,Dom,Mobile,我在一个页面上运行了一个脚本,在这个页面上我想禁用手机id;我环顾四周,还没有找到解决办法 脚本如下: <script> document.addEventListener("mousemove", function (event) { const x = event.pageX const y = event.pageY document.querySelectorAll(".c-letter").forEach(div =

我在一个页面上运行了一个脚本,在这个页面上我想禁用手机id;我环顾四周,还没有找到解决办法

脚本如下:

<script>
    document.addEventListener("mousemove", function (event) {
        const x = event.pageX
        const y = event.pageY

        document.querySelectorAll(".c-letter").forEach(div => {
            const dx = (div.offsetLeft + 50) - x
            const dy = (div.offsetTop + 50) - y
            const dist = Math.sqrt(dx * dx + dy * dy)

            const score = Math.exp(dist * -0.005)

            div.style.transform = "scale(" + score + ")"
            div.style.fontWeight = 100 + (100 * Math.round(8 * score))
        })
    })
</script>

document.addEventListener(“mousemove”,函数(事件){
常数x=event.pageX
const y=event.pageY
document.queryselectoral(“.c-letter”).forEach(div=>{
常数dx=(div.offsetLeft+50)-x
常数dy=(等分偏移+50)-y
常量dist=Math.sqrt(dx*dx+dy*dy)
常数分数=数学经验(距离*-0.005)
div.style.transform=“刻度(“+score+”)”
div.style.fontwweight=100+(100*数学四舍五入(8*分数))
})
})

任何帮助都将不胜感激

取决于你所说的“手机”是什么意思。你可以得到你正在使用的设备的名称,这叫做用户代理嗅探,然后说‘如果这是iphone、galaxy或LG’等等,但这不是未来的证据——当新设备出现时,你不会知道它们

最好进行功能检测——为什么手机上不需要你的代码?屏幕太小了?是触摸屏而不是鼠标?这些是你应该测试的东西

您正在使用mousemove事件,因此您可能希望在触摸屏上禁用该事件。您可以这样做:

if ( !('ontouchstart' in window ) ) {
    ...
}

感谢您的回复,一般来说,我想为所有非桌面设备禁用mousemove事件。所以我想我也可以通过屏幕宽度来禁用它?如果可能的话。不过我会试试代码的,谢谢