移动端点击事件的问题

我闲的无聊写了个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);}
                    })
阅读 3.8k
3 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题