移动端的touchmove事件如何取得滑过元素的id?

luqi227 2015-10-23 03:38:32
pc端的mouseover事件中能得到鼠标滑过的元素ID,
但touchmove好像只能得到第一下touch的元素id,
难道只能通过鼠标位置遍历元素来得到滑过的元素id吗?
...全文
581 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小德尔 2019-02-14
  • 打赏
  • 举报
回复
对于touchstart事件来说:
e.currentTarget 获取当前划过的元素。可以直接使用,比如$(e.currentTarget).val()以及$(e.currentTarget).text();
e.delegateTarget 获取当前划过的元素。
e.target 触目的DOM节点目标

对于touchmove事件:
同样可以用e.target 触目的DOM节点目标;
除了以上直接获取以外,如果多点触控还可以通过以下方法:

e.originalEvent.targetTouches[0]; 或者e.touches[0]来获取当前第一个触点;
然后通过计算触点位置再进行元素转化,就可以获得元素了:
var top = $(window).scrollTop();
var ele = document.elementFromPoint(touch.pageX, touch.pageY - top);
最后就可以使用元素了:
$(ele).text()或者$(ele).val();
qq_30662131 2017-04-25
  • 打赏
  • 举报
回复
不知道楼主解决了没有,我也想获得touchmove滑过的id
街头小贩 2015-10-23
  • 打赏
  • 举报
回复
贴一下你的代码吧

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧