0

次のような「.container」DIV要素に5つのDIVを作成しました。

<div class="container">
   <div class="elem1">No 1</div>
   <div class="elem2">No 2</div>
   <div class="elem3">No 3</div>
   <div class="elem4">No 4</div>
   <div class="elem5">No 5</div>
</div>

touchstarttouchmovetouchendイベントが.container要素に割り当てられています。

でのコンテナのタッチ スタート時に.elem1touchstartイベント ハンドラは で「elem1」を受け取りevent.targetます。

「.elem4」のコンテナのタッチエンドで、touchendイベントハンドラーは「elem1」を受け取りますevent.targetが、私はelem4でタッチを解放します。これが問題です。ここでelem4を取得する必要があります。

touchendイベントハンドラーで正確な要素を取得するにはどうすればよいですか? タッチポイントを使用して、これに関する解決策/提案はありますか?

4

2 に答える 2

0

event.pageXevent.pageYdocument.elementFromPointを次のように使用します。

$('.container').bind('touchend', function(ev){
    ev.preventDefault();
    ev.stopPropagation();
    var el = document.elementFromPoint(ev.pageX, ev.pageY);
});

私はここでこのアイデアの例を作りました:

http://jsfiddle.net/MPn3L/

mouseup(私はイベントをシミュレートしましたが、touchendタッチデバイスでも同じように機能することに注意してください)

それが私が考えることができる最善の解決策です。

于 2013-10-07T06:53:47.830 に答える