2012-08-22 55 views
1

在舊版本YUI的,這是不可能的,模擬的TouchEvent(touchstart/touchmove/touchend),因爲我們可以在官衣網站閱讀:http://yuilibrary.com/yui/docs/event/simulate.html(無觸摸事件部分)是否可以在YUI 3.6.0上模擬touchevent?

但在YUI的最後一個版本(3.6.0)似乎可以模擬touchevent。當你看這個文件:http://yuilibrary.com/yui/docs/api/files/event-simulate_js_event-simulate.js.html#l60,腳本中實現了touchevents。

如果你看這個帖子:http://www.yuiblog.com/blog/2012/08/10/twiy/; YUI接受關於手勢模擬的拉取請求。

但是當我這樣做:

Y.one('mydiv').simulate('touchstart'); 

我有這樣的信息:

Error: simulate(): Event 'touchstart' can't be simulated. Use gesture-simulate module instead. 

所以我儘量用 「gesturemovestart」 做

Y.one('mydiv').simulate('gesturemovestart'); 

,但我有這個消息:

Event 'gesturemovestart' can't be simulated 

那麼,有誰知道它是否可以模擬YUI上的touchevent,如果是的話,爲什麼我會有這個錯誤?

回答

2

如果從YUI3指事件simulate.js上git的樞紐 https://github.com/yui/yui3/blob/master/build/event-simulate/event-simulate.js,註釋行725說touchevents預計PARAM touchList [表示與此事件相關的所有觸摸觸摸對象的集合。 因此,如果您嘗試類似於 Y.one(「#myDiv」)。模擬(「touchstart」,{touches:{PageX:200,PageY:200}});

它應該模擬touchstart事件。

而隨着觸摸和手勢事件在iOS(2.0及更高版本)上可用,測試應該成功通過ios設備。

0

我終於找到答案。你可以做Y.one(「#myDiv」)。模擬(「touchstart」,{touches:{PageX:0,PageY:0}});你可以使用Y.one(「#myDiv」)。但僅適用於Android & iOs系統,這對我的腳本(在平板電腦&智能手機上運行)可以。

你必須更新到YUI 3.6.0。 ,如果你想使用它。

如果你參考這個帖子:http://yuilibrary.com/forum/viewtopic.php?f=18&t=10521,手勢模擬將在YUI下一個版本3.6.1中實現。

相關問題