2

假设我们有一个表,用户可能一次选择多行,我可以在桌面浏览器上做到这一点

<td onmousedown= onmousemove= onmouseup= >

但触摸设备(ipad)失败,我尝试使用touchstart,我可以获得起始元素,但touchend没有给出结束元素,我想要:

<tr><td id="id1">
//
<tr><td id="id5">

$('td).on('touchstart', function(e) {
     console.log('touchstart' + $(this).attr("id"));
}

$('td).on('touchend', function(e) {
     console.log('touchend' + $(this).attr("id"));
}

当我开始拖动 id1 并移动到 id5(我走过 i2、i3、i4)时,我想发现用户选择了 i1、i2、i3、i4 和 i5。我开始拖入 i1 并在 i5 上完成(松开手指)

我看到touchstart i1,没关系,但touchend也给了i1,但我期待i5。我想了解拖动(触摸)操作在哪个元素上完成。

mouseover 或 mouseenter 也总是给出起点。我的意思是当手指在 i2 上时,控制台总是显示起始 ID。

我在 touchend 上的事件中查看了 chrome 工具(所有事件字段、属性等),但找不到有关目标 id 的任何信息(我们停止操作的元素,松开手指)

4

0 回答 0