на touchmove изменить каждый элемент коснулся - PullRequest
1 голос
/ 02 апреля 2012

Я искал это вокруг и, похоже, ничего не нашел.

По сути, я связал событие "touchmove" (через jQuery) с набором элементов div ... я надеялся, что это произойдет, когда вы перетаскиваете каждый элемент div (без касания), переключается div-атрибут attr "xyz" от 0 до 1, что означает, что к нему прикоснулись.

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

Как вы можете предположить, это не работает. Только тот элемент, который на самом деле используется и перемещается, получает попадание данных = 1.

Ответы [ 2 ]

1 голос
/ 07 мая 2012

Мне удалось решить эту проблему, уловив координаты конечных положений касания, а затем сравнив их с каждым потенциальным делением x, y, w, h.

0 голосов
/ 02 апреля 2012

Вам нужно будет «коснуться, а затем двигаться» за дел. Это связано с тем, как события являются огнем для ваших элементов. Вы можете увидеть этот пример: http://jsfiddle.net/MpJUR/6/ В каждом div (кроме первого, который принял его по умолчанию) сначала нужно нажать / коснуться, а затем перейти, чтобы получить триггер события. Кстати, событие будет срабатывать при каждом «движении», так как оно неэффективно. Возможно, вы захотите поймать 'touchstart' для каждого элемента div и / или просто поработать с 'touchmove' для родительского элемента, который содержит все элементы div.

...