2

私はモバイルウェブに取り組んでおり、jsで使用されるmouseover/イベントの問題に直面しています。mouseoutこれらの2つのイベントは、リンクの不透明度を変更するために使用されます。問題は、リンクをアクティブにするために2回タップする必要があることです(iPhoneでテスト)。私の推測では、最初のタップではタップをmouseoverイベントと見なし、2番目のタップはクリックイベントと見なします。

モバイルウェブでこれらのイベントをスキップ/無効化/無視できる方法はありますか?2回タップする必要はありませんか?

ありがとう

4

3 に答える 3

1

これは遅い応答ですが、後世のために、そしてここでグーグルで検索している人のために解決策があります:

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

一度だけトリガーされるように、イベントをバインド/バインド解除することができます。

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

于 2013-01-12T11:45:02.177 に答える
0

サーバー側の設定によっては、特定のデバイスに JavaScript を提供するために、おそらくユーザー エージェント検出、特にユーザー エージェント検出の UAProf 要素を使用できますか?

これにより、さまざまな方法でモバイル デバイスに対応できるようになります。これは、マウスオーバーなどに基づいて div を展開するなど、使用する可能性のある他の「オーバー」イベントの動作に役立ちます。

ユーザー エージェントの検出を検索すると、既に多くの情報が利用可能です。これがお役に立てば幸いです。

于 2011-06-24T10:15:51.903 に答える
0

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

于 2011-06-24T10:23:06.770 に答える