2012-03-14 10 views
1

jQuery .hover()イベントは、アンカーエレメントでない限り、モバイルデバイス(iOS 5.1 Safariでテスト中)で正常に動作しているようです<a>。うまく動作すると、それにバインドされているホバーハンドラがトリガされます。jQueryのホバリングイベントon <a>モバイルデバイスのタグ

ただし、ホバーイベントが<a>の場合、ブラウザはhrefのURLにリダイレクトされます。

2回目のタッチでリダイレクト(クリックをトリガー)する前に、最初のタッチ(イベントハンドラーを実行)で最初にホバーします。これを行う方法はありますか?

あなたが Mobile Safari docsからDOMについて何か変更リンク(背景色を変更するには、クラスを切り替えるなど、など)

にイベントハンドラを追加する必要があります

答えて

3

マウスイベントが配信されています図6-4に示す他のウェブブラウザでも同様の順序であなたは ブラウザを使用します。ユーザーがクリップ不可能な 要素をタップすると、イベントは生成されません。ユーザーがクリック可能な 要素をタップすると、mouseover、mousemove、mousedown、 mouseupの順にイベントが到着します。 mouseoutイベントは、ユーザが別のクリック可能なアイテム をタップした場合にのみ発生します。また、ページの内容が のmousemoveイベントに変更された場合、シーケンスの後続のイベントは送信されません。 この動作は、私はまだ私は(あなたが提案1を含む)多くのことを試してみたので、それは「変化」によって何を意味するのか理解していないユーザーが新しいコンテンツ

Figure 6-4

+0

にタップすることができますが、それでもclickイベントをトリガするのを止めることはできません。それについての詳細は?ありがとう – Sufendy

+0

クリックすることからそれを妨げるためには、パラメータeを追加し、e.preventDefault();を設定してください。 hover()に提供される関数で他の部分については、私はあなたが達成したいことを理解しているとは完全にはわかりません。私はここで不器用なものを作った:https://tinker.io/ff4abこれはあなたが望むものなのだろうか? –

+0

@limelights、私はまだリダイレクトする必要がありますが、セカンドタッチで。それはドロップダウンメニューです。したがって、最初のタッチでサブメニューを開き、2回目のタッチだけがリダイレクトします。 – Sufendy