【问题标题】:locating elements in touch events (mobile safari)在触摸事件中定位元素(移动 Safari)
【发布时间】:2011-01-27 02:18:48
【问题描述】:
我正在处理 Javascript 事件(对我来说完全陌生的主题),并且需要一些关于在移动 safari 中处理触摸事件的指导。
我有一个看起来像这样的文档:
<div>
<span>one</span><span>two</span>
</div>
我想突出显示用户当前正在触摸的任何跨度。
我已经成功了
【问题讨论】:
标签:
javascript
webkit
mobile-safari
touch-event
【解决方案1】:
我制定的解决方案是在文档中添加 eventListeners:
document.addEventListener("touchstart", touchStart, "true");
document.addEventListener("touchmove", touchMove, "true");
document.addEventListener("touchend", touchEnd, "true");
然后使用 每个 触摸事件执行您需要的操作。我对此加注星标是因为它不是具有位置的事件本身(如在正常事件处理中),而是具有位置的一组触摸。
function touchMove(event)
{
// // Prevent the webview itself from scrolling / bouncing around
event.preventDefault();
// Only track one finger
if ( event.touches.length == 1)
{
var touch = event.touches[0];
doStuffAtPosition(touch.pageX, touch.pageY);
}
}