2012-02-13 58 views
3

我正在用手機構建一個android應用程序。我試圖在用戶觸摸元素時實現觸摸移動事件。但是我仍然無法使它完美。如何使用javascript檢測觸摸移出節點。

觸摸移動事件工作完美,但當我觸摸該區域並將手指拖動到另一個觸摸區域時,沒有事件觸發。

所以在要點: - 用戶觸摸頁面中的一個元素;然後將手指移出元素的範圍。我想在手指移出元素時捕捉事件。當它進入另一個觸摸區域時,觸摸移動功能應該再次觸發。

感謝

回答

1

也許你應該增加了一個JavaScript代碼來你的問題得到更多的關注它。

據我所知,沒有瀏覽器支持觸摸事件的「mouseout」或「mouseover」事件。

所以我們必須跟蹤自己。由於我們獲得的觸摸對象(觸發事件觸發時)僅爲觸摸事件開始時的目標提供,因此我們必須使用觸摸位置來檢查我們觸摸的是哪個元素。我使用了document.elementPosition(x, y)

因此,通過觸摸事件的座標,我們可以獲取我們觸摸的元素。

要識別留下一個元素,我要存儲上次觸摸的元素並檢查新的觸摸事件,如果我還在觸摸相同的元素。如果情況並非如此,我們會離開舊的,並且可以解決這個問題。

我寫了一個簡短的演示(jsbin)。 You can try it here on your phone.

Source code can be also found here.

缺少了什麼在這個演示是觸摸事件的預期觸摸區域外的處理。

我想知道是否有更好的方法來處理您的任務。如果是這樣,希望有人會在這裏寫下來。也許你已經爲你的問題找到了答案,因爲你在這裏添加了它?