タッチアクションによるクリックイベントの防止
P粉575055974
P粉575055974 2023-09-12 22:06:25
0
1
693

touch-action:pan-y; を含む div があります。 div にはアンカー タグが付けられています。

これで、div をクリックするとリンクが機能し、リダイレクトされます。

ただし、div をスワイプしてスワイプを放し、div をクリックすると、最初のクリックではリンクが機能しませんが、2 回目のクリックでは機能します。

スワイプ完了後の最初のクリックでは、どのクリック イベント ハンドラーも起動されないことがわかりました。

SEO やクローラーを台無しにすることなく、この問題を解決するにはどうすればよいですか。

touch-action:pan-y が必要なのは、ユーザーが div を水平にスワイプしたときに垂直スクロールを防ぐことができるためですが、欠点は、リンクを機能させるためにスワイプ後に 2 回クリックする必要があることです。

SEOに問題を引き起こさない解決策はありますか?

P粉575055974
P粉575055974

全員に返信(1)
P粉805535434
How about you;
var div = document.getElementById('myDiv');
var link = document.getElementById('myLink');

var isSwiping = false;

div.addEventListener('touchstart', function(e) {
  isSwiping = false;
});

div.addEventListener('touchmove', function(e) {
  isSwiping = true;
});

div.addEventListener('touchend', function(e) {
  if (!isSwiping) {
    link.click();
  }
});
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート