Javascript 在触摸事件中定位元素(移动safari)

Javascript 在触摸事件中定位元素(移动safari),javascript,webkit,mobile-safari,touch-event,Javascript,Webkit,Mobile Safari,Touch Event,我正在处理Javascript事件(一个我完全不熟悉的主题),并且需要一些关于在mobile safari中处理触摸事件的指导 我有一个类似以下内容的文档: <div> <span>one</span><span>two</span> </div> 一二 我想突出显示用户当前触摸的范围 我已经成功地去了您可能想结帐 它会创建一个名为“点击”的事件 您可以在此处玩jqtouch的演示您可能想要签出 它会创建一个名

我正在处理Javascript事件(一个我完全不熟悉的主题),并且需要一些关于在mobile safari中处理触摸事件的指导

我有一个类似以下内容的文档:

<div>
    <span>one</span><span>two</span>
</div>

一二
我想突出显示用户当前触摸的范围


我已经成功地去了

您可能想结帐

它会创建一个名为“点击”的事件


您可以在此处玩jqtouch的演示

您可能想要签出

它会创建一个名为“点击”的事件


您可以在此处使用jqtouch的演示

我制定的解决方案是将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);
    }
}

我制定的解决方案是将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);
    }
}