在touchmove上修改触摸的每个元素

时间:2012-04-02 05:53:10

标签: javascript jquery touch

我一直在寻找这个,似乎找不到任何东西。

基本上我把一个“touchmove”事件(通过jQuery)绑定到一组div ...我希望会发生的是,当你拖过每个div(没有touchend)div的attr“xyz”切换从0到1也意味着它被触动了。

$("#itBoardFront div").on('touchmove',function(e){
    $(this).attr('data-hit',1);
})  

您可以认为,这不起作用。只有实际被击中并移动的元素才能获得data-hit = 1。

2 个答案:

答案 0 :(得分:1)

我能够通过捕捉触摸结束位置的坐标然后将其与每个潜在div的x,y,w,h进行比较来解决这个问题。

答案 1 :(得分:0)

你需要每个div'触摸然后移动'。这是由于事件触发元素的方式。您可以看到此示例:http://jsfiddle.net/MpJUR/6/ 在每个div(默认情况下第一个除外)中,您需要先单击/触摸然后移动以获取事件触发器。 顺便说一下,这个事件将在每次“移动”时触发,效率不高。您可能希望每个div捕获'touchstart'和/或只在包含所有div的父元素上使用'touchmove'。