2011-06-24 18 views
2

jsで使用されているmouseover/mouseoutイベントでモバイルウェブと問題に直面しています。これらの2つのイベントは、リンクの不透明度を変更するために使用されます。問題は、リンクを有効にするために2回タップする必要がある(iPhoneでテストする)ことです。私の推測では、最初のタップでは、タップはmouseoverイベントとみなされ、2回目のタップはクリックイベントとして扱われます。jQuery for mobile webでmouseover/mouseoutイベントを扱う

モバイルウェブのこれらのイベントをスキップ/ディスエーブル/無視する方法はありますか?2回タップする必要はありませんか?設定サーバー側によって

おかげ

答えて

0

は、おそらくあなたはユーザーエージェントの検出を使用することができます - そしておそらく、ユーザエージェント検出の特別のUAProf要素、特定のデバイスのためのjavascriptを提供するために?

これは、あなたは、いくつかの異なる方法でモバイルデバイスに対応するためにできるようになる - これはあなたが使用することを見てもイベント動作「の上に」他に役立つだろう - マウスオーバーに基づくdiv要素を拡大するなど

ありますユーザーエージェントの検出を検索した場合、既に利用可能な多くの情報があります。

+0

それは冗長コード(ただし、わからない)原因となるのだろうか。返信ありがとう:) – Bongs

0

jQuery Mobileを見ましたか?これにより、モバイルアプリでマウス関連の問題が数多く解決される可能性があります。

+0

はい、私はjQuery Mobileを認識しています。それでもまだベータモードになっているので、このオプションは選択されていません。しかし、はい、それが安定したモードで来たら、それを切り替えるでしょう。 – Bongs

0

これは遅れて応答であるが、後世、誰のためにここにグーグルでは、ソリューションです:)

代わりに(を.mouseenter使用しての、)(.mousemoveを使用しています。 mouseleave()は、モバイルデバイス上のアイテムをクリックした後では重要ではないので、そのままにしておいてください。 .mousemove()は無視され、最初のタッチでクリックがトリガーされます。

イベントが1回だけトリガーするように、イベントをバインド/アンバインドしたい場合があります。

http://api.jquery.com/mousemove/

関連する問題