2012-04-02 77 views
1

我一直在尋找這個,並且似乎無法找到任何東西。基本上我已經綁定了一個「touchmove」事件(通過jQuery)到一組div。我希望會發生的事情是,當你拖動每個div(帶有touchend)div的屬性「xyz」時,從0到1 aka意味着它被觸動。touchmove修改每個觸摸元素

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

正如你可以假設,這是行不通的。只有實際被打開並且繼續前進的元素纔會獲得data-hit = 1。

回答

1

我能夠通過捕捉觸摸結束位置的座標,然後將其與每個潛在div的x,y,w,h進行比較來解決此問題。

+0

我可以看到這個解決方案的例子嗎?在我的代碼中具有完全相同的場景:) – 2012-11-07 23:45:50

+1

Laust,基本上只是:如果鼠標移過區域運行foreach的每個div並將x + y + w + h與鼠標位置進行比較。 – 2012-11-12 20:57:02

0

您需要'觸摸然後移動'每格。這是由於事件觸發你的元素的方式。你可以看到這個例子:http://jsfiddle.net/MpJUR/6/ 在每個div(除了第一個默認使用它)之外,你需要先點擊/ touch然後移動才能獲得事件觸發器。順便說一下,這個事件會在每次'移動'時觸發,因爲效率不高。您可能想要捕捉每個div的'touchstart'和/或僅在包含所有div的父elem上使用'touchmove'。

+0

一些什麼關閉。但是,我需要它,所以當你點擊一個移動到任何div,所以「任何」div也應該獲得數據擊中。 – 2012-04-02 12:45:58