New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Androidのタッチイベントが2回発生する #129

Closed
tmoriizumi opened this Issue Nov 15, 2012 · 9 comments

Comments

Projects
None yet
5 participants
@tmoriizumi

tmoriizumi commented Nov 15, 2012

Android4.0系からAndroid4.1.1にアップデートした端末のWebviewで、
addEventListener.でtouchstartとtouchendにイベントを登録すると、
それぞれ2回イベントが実行されます。
アップデートする前のバージョンでは発生していなかったと思います。
ブラウザでも発生しました。

機種:
SAMSUNG GALAXY NEXUS(SC-04D)
バージョン:
AndroidOS 4.1.1

@tmoriizumi

This comment has been minimized.

Show comment
Hide comment
@tmoriizumi

tmoriizumi Nov 16, 2012

enchant.jsのバージョンは0.5.1なら問題なかったのですが、0.5.2からおかしいようです

tmoriizumi commented Nov 16, 2012

enchant.jsのバージョンは0.5.1なら問題なかったのですが、0.5.2からおかしいようです

@rtsan

This comment has been minimized.

Show comment
Hide comment
@rtsan

rtsan Nov 16, 2012

Collaborator

ありがとうございます。
Galaxy Nexus 4.1.2で確認しましたが、DOMのtouchstartイベントとmousedownイベントの両方がブラウザから発行されているようです。
#102
ed13d47
の変更により2度イベントenchant.jsのイベントが発行されてしまうようです。

Collaborator

rtsan commented Nov 16, 2012

ありがとうございます。
Galaxy Nexus 4.1.2で確認しましたが、DOMのtouchstartイベントとmousedownイベントの両方がブラウザから発行されているようです。
#102
ed13d47
の変更により2度イベントenchant.jsのイベントが発行されてしまうようです。

@sidestepism

This comment has been minimized.

Show comment
Hide comment
@sidestepism

sidestepism Nov 16, 2012

Collaborator

The user agent may dispatch both touch events and mouse events [DOM-LEVEL-2-EVENTS] in response to the same user input. If the user agent dispatches both touch events and mouse events in response to a single user action, then the touchstart event type must be dispatched before any mouse event types for that action. If the preventDefault method of touchstart or touchmove is called, the user agent should not dispatch any mouse event that would be a consequential result of the the prevented touch event.

このような記述を見つけました。

http://www.w3.org/TR/touch-events/#mouse-events

  • touch, mouse 両方出すときがある
  • その時は touch が先
  • touch で preventDefault されたら mouse は発行しない

とのことです。

Collaborator

sidestepism commented Nov 16, 2012

The user agent may dispatch both touch events and mouse events [DOM-LEVEL-2-EVENTS] in response to the same user input. If the user agent dispatches both touch events and mouse events in response to a single user action, then the touchstart event type must be dispatched before any mouse event types for that action. If the preventDefault method of touchstart or touchmove is called, the user agent should not dispatch any mouse event that would be a consequential result of the the prevented touch event.

このような記述を見つけました。

http://www.w3.org/TR/touch-events/#mouse-events

  • touch, mouse 両方出すときがある
  • その時は touch が先
  • touch で preventDefault されたら mouse は発行しない

とのことです。

sidestepism added a commit that referenced this issue Nov 20, 2012

@sidestepism

This comment has been minimized.

Show comment
Hide comment
@sidestepism

sidestepism Nov 20, 2012

Collaborator

touch系のイベントを preventDefault したものが hotfix/#129 ブランチにあります。
実機でテスト後 master に merge します。

Collaborator

sidestepism commented Nov 20, 2012

touch系のイベントを preventDefault したものが hotfix/#129 ブランチにあります。
実機でテスト後 master に merge します。

@sidestepism

This comment has been minimized.

Show comment
Hide comment
@sidestepism

sidestepism Dec 28, 2012

Collaborator

v0.5.3 としてリリースしました。

Collaborator

sidestepism commented Dec 28, 2012

v0.5.3 としてリリースしました。

rtsan added a commit that referenced this issue Feb 28, 2013

rtsan added a commit that referenced this issue Feb 28, 2013

@rtsan rtsan closed this Mar 4, 2013

@sidestepism

This comment has been minimized.

Show comment
Hide comment
@sidestepism

sidestepism Apr 24, 2013

Collaborator

https://twitter.com/maxcaffy/status/326288486833459202
Twitter でこのような文章を見つけました

きっと何処かで見守っていてくださる #enchantjs 創造主さんへ
お手すきのときにでも v0.5.xブランチにv0.5.3をリリースしてくだされー
https://t.co/FAejtDZ5ZQ
enchant0.5.2+Android4.2でタッチイベントが~暴走~

Collaborator

sidestepism commented Apr 24, 2013

https://twitter.com/maxcaffy/status/326288486833459202
Twitter でこのような文章を見つけました

きっと何処かで見守っていてくださる #enchantjs 創造主さんへ
お手すきのときにでも v0.5.xブランチにv0.5.3をリリースしてくだされー
https://t.co/FAejtDZ5ZQ
enchant0.5.2+Android4.2でタッチイベントが~暴走~

@sidestepism

This comment has been minimized.

Show comment
Hide comment
@sidestepism

sidestepism Apr 24, 2013

Collaborator

v0.5.x ブランチ、Galaxy Note 2 (docomo SC-02E, Android 4.1.2) では再現しませんでした。
検証したのは以下のミラーの exmaples です。
http://lib.stepism.com/enchant/branches/v0.5.x/

Collaborator

sidestepism commented Apr 24, 2013

v0.5.x ブランチ、Galaxy Note 2 (docomo SC-02E, Android 4.1.2) では再現しませんでした。
検証したのは以下のミラーの exmaples です。
http://lib.stepism.com/enchant/branches/v0.5.x/

@digitarhythm

This comment has been minimized.

Show comment
Hide comment
@digitarhythm

digitarhythm Feb 21, 2014

SC-04Dでは、ver0.8.0でもこの現象が起こります。

digitarhythm commented Feb 21, 2014

SC-04Dでは、ver0.8.0でもこの現象が起こります。

@Ashibehair

This comment has been minimized.

Show comment
Hide comment
@Ashibehair

Ashibehair Jul 12, 2014

enchant.js v0.8.1 でも、 303SH(Android 4.2.2) では同様に問題が発生します。

Ashibehair commented Jul 12, 2014

enchant.js v0.8.1 でも、 303SH(Android 4.2.2) では同様に問題が発生します。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment