>  Q&A  >  본문

javascript - 移动端点击事件的问题

我闲的无聊写了个h5的俄罗斯方块,控制左右和旋转我用了如下的方法,点击左边中间右边控制左,旋转,右,但是放在手机上没有反应,库用的是zepto,换成tap也没用,是不是手机端的事件没有pageX这个属性,请问我应该怎么改呢?

                $("body").click((event)=>{
                    var x=event.pageX;
                    if(x>=0&&x<=clickbound*1){
                        that.setSite(-1)
                    }else if(x>1*clickbound&&x<=2*clickbound){
                        //that.rotate();
                    }else{
                        that.setSite(1);}
                    })
黄舟黄舟2772일 전342

모든 응답(3)나는 대답할 것이다

  • 伊谢尔伦

    伊谢尔伦2017-04-11 13:14:10

    正确答案是safari不支持事件代理由body代理到p上,必须加上cursor:pointer,click事件就可以用了,但是会有延迟,需要引入fastclick这个库解决问题,不能使用zepto的tap事件,没有pageX这个属性

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-11 13:14:10

    可能是你的移动浏览器不支持 es6 的箭头函数 =>

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-11 13:14:10

    建议在手机上debug一下,看下控制台的信息,如果像你所说是不是手机端的事件没有pageX这个属性,那么就可以看出问题了,方法见这篇 http://web.jobbole.com/83145/

    회신하다
    0
  • 취소회신하다