質問

2011-08-07 13 views
0

ここでは、iOSアプリケーションでのUIWebViewでテストするには素晴らしいHTML5サンプルhttp://admixweb.com/demos/posticks/質問

で、ページ全体が完全にロードすることができますが、タッチイベントを処理することはできません。

これらのイベントをUIWebView(実際にはSafari)で処理できないのはなぜですか?

html5など、まったく新しく、ここに手がかりや説明があります。

おかげ

+0

HTML5のようには見えません。 divsとそれ以外のものだけの束。イベントに関しては、おそらくプログラマーのエラーです。 – tjameson

+0

同じhttps://www.ibm.com/developerworks/mydeveloperworks/blogs/bobleah/entry/html5_code_example_of_contentedit_and_localstorage_create_a_web_sticky_note?lang=ja – Forrest

答えて

1

ああ、それはHTML5だ理由です、ローカルストレージです。それはイベントとは関係ありません。

「touchstart」と「touchend」イベントではなく、クリックイベントを使用している可能性があります。それはたぶんあなたのイベントがうまくいかない理由です。 iOSのイベントは、通常のブラウザとは異なる順序で発生します。 Thisがその説明に役立つかもしれません。

基本的には、通常のブラウザがこれらのイベント(順番に)ハンドル:時々これらのイベントは、解雇、iOSの上で

  • マウスダウン
  • のMouseMove
  • のmouseup
  • クリック

をすべて一緒に、いくつかのアプリケーション、特に移動するものに依存するものを壊す。リンクからは、ユーザーが画面に触れるときにマウスが離されることはありませんが、ユーザーが画面に触れたときには消すことがあります。私が開発したWebアプリケーションでも同様の問題がありました。

これを行うより良い方法は、タッチ対応デバイスのタッチイベントと、非タッチ対応デバイスのマウスイベントを使用することです。これにより、コードがマッシュされる可能性がなくなります。

+0

はい、完全に分析に同意します。 UIWebViewのタッチイベントを解決する最良の方法は何ですか?ありがとう – Forrest

+0

ここでいくつかの答えhttp://stackoverflow.com/questions/4835231/detecting-touches-on-an-html5-in-a-uiwebview-on-the-iphone – Forrest