自己写了个tap模拟插件,PC上没问题,手机上总是在touchend 的event.target得到不确定是什么的东西
document.body.addEventListener('touchend', function (e) {
deltaX = Math.abs(deltaX);
deltaY = Math.abs(deltaY);
var el = e.target;
alert(e);//[object TouchEvent]
alert(el.nodeName);//undefined
alert(el.nodeType);//undefined
if(el.nodeType === undefined) return;
if(deltaX < 20 && deltaY < 20){
//var tapEvent = new Event(tapType);
var tapEvent = new Event(tapType, {
bubbles: true,
cancelable: true
});
cancelled = !el.dispatchEvent(tapEvent);
if(cancelled){
e.preventDefault();
return false;
}
}
deltaX = deltaY = 0;
}, false);
上面的alert结果是这样,点到的东西应该不是undefined才对吧,帮忙看下,或者应该怎么调试这个问题。
有个两个问题忘记说了,我点击的元素是svg,另外iOS暂时没有发现类似问题,只是Android