touchmove 的e.target 无法实时获取node
获取的始终是按下时的target
(在移动端才有这个问题,不方便贴运行代码... 请教各位有没有遇到过这种情况的...)
html:
<div id="box3">
box3
<span style="background:#f99;display:block;height:150px;overflow:hidden;margin-top:75px;"> </span>
</div>
js:
var box3 = document.getElementById("box3"),
box3_span = box3.getElementsByTagName(‘span‘)[0];
box3.ontouchmove=function(e){
e = e || window.event;
box3_span.innerHTML = box3_span.innerHTML+‘ ‘+e.touches[0].target.nodeName;
}
});
从box3 进入span里面的时候 target一直是DIV
如果从span进入box3的时候 target 一直是SPAN
解决方法:
var x = e.toucher[0].pageX;
var y = e.toucher[0].pageY;
var target = document.elementFromPoint(x, y);
时间: 2024-11-25 20:50:57