(e)
| 1160 | } |
| 1161 | |
| 1162 | function handleReplyTouchMove(e) { |
| 1163 | if (!isReplyTouchDragging || !replyDraggedElement) return; |
| 1164 | |
| 1165 | e.preventDefault(); |
| 1166 | const touch = e.touches[0]; |
| 1167 | replyTouchCurrentY = touch.clientY; |
| 1168 | |
| 1169 | // 查找触摸点下的元素 |
| 1170 | const elementBelow = document.elementFromPoint(touch.clientX, touch.clientY); |
| 1171 | const replyItem = elementBelow?.closest('.reply-item-draggable'); |
| 1172 | |
| 1173 | // 清除之前的高亮 |
| 1174 | document.querySelectorAll('.reply-item-drag-over').forEach(el => { |
| 1175 | el.classList.remove('reply-item-drag-over'); |
| 1176 | }); |
| 1177 | |
| 1178 | if (replyItem && replyItem !== replyDraggedElement) { |
| 1179 | replyItem.classList.add('reply-item-drag-over'); |
| 1180 | } |
| 1181 | } |
| 1182 | |
| 1183 | function handleReplyTouchEnd(e) { |
| 1184 | if (!isReplyTouchDragging || !replyDraggedElement) { |
nothing calls this directly
no outgoing calls
no test coverage detected