2013-06-18 61 views
6

我試圖在Createjs/Easeljs對象中使用觸摸事件。例如,我試圖使用addEventListener附加touchstart和touchmove事件。在Createjs/Easeljs中使用觸摸事件

Touchstart和mousedown似乎工作:我使用瀏覽器和觸摸設備來測試它,它似乎在這兩種情況下都起作用。

但是,mousemove和touchmove似乎不起作用。我雖然是因爲我刪除了stopPropagation和preventDefault方法,但我看到Lanny McNie寫道,在CreateJS 1中沒有必要這樣做。我想不出爲什麼它不起作用。

這是我的代碼: http://pastebin.com/pqxWLNKG

問候。

+0

假設它被正確啓用,我建議在適當的設備特定的代碼中設置一個斷點,看看它是否是瀏覽器問題或其他。 – WiredPrairie

+0

@WiredPrairie,我希望我可以,我認爲遠程調試控制檯它尚未啓用。 – Cod1ngFree

+0

也許會添加一些日誌記錄呢?你連接了什麼設備? – WiredPrairie

回答

11

您可以使用EaselJS附帶的Touch類來啓用多點觸摸 - 這可以轉化爲正常的EaselJS mousedown/mousemove事件。查看DragAndDrop演示:http://www.createjs.com/demos/easeljs/draganddrop

createjs.Touch.enable(stage); 

乾杯。

+0

非常感謝。有沒有辦法用addEventListener替換onPress,onMouseMove,onMouseOver和onMouseOut如果我做了createjs.Touch.enable(stage); 或者Touch類是否只爲該onAction方法啓用多點觸摸? – Cod1ngFree

+0

觸摸類只是代理現有的交互。 onAction回調都被棄用 - 鼓勵事件模型! – Lanny

+0

這太棒了!直到我看到這一點,我試圖使用fastclick.js,並沒有達到我期待的目標。謝謝! –