如果向div、span、font、p等元素标记请求点击事件,移动端ios设备将无法识别该点击事件(通常为click事件),因此,
在这种情况下,我们通常使用touchstart而不是click事件,但很快就会显示出使用touchstart而不是click事件的弊端,并且每次滑动屏幕时都会立即启动单击事件
这个时候,把我这个包的方法放进去,这个弊端很快就会解决的
功能tap (El,fn ) { var startPoint={}; El.addevent listener (' touch start ',function(e ) ) start point={ x : e.changed touches [0].pagex,y 3360 e.chart El.addeventlistener('touchend ',function(e ) e ) ) varnowpoint={ x : e.changed touches [0].pagex, y 3360 e.chaagex if (math.ABS (now point.x-start point.x )5math.ABS ) nowpoint.y-startpoint.y )5) fnfn.call 但是,又出了问题。 添加event.preventDefault (; 浏览器报告错误
解决方法: 1、注册处理函数时,用以下方法明确声明不是被动window.addevent listener (‘touch move’,func,{ passive: false } )
2、适用CSS属性touch-action: none; 这将导致触摸事件不执行默认行为,但也会触发touch事件。 sortable-handler { touch-action : none; }