検索

ホームページ  >  に質問  >  本文

タッチアクションによるクリックイベントの防止

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

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

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

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

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

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

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

P粉575055974P粉575055974440日前674

全員に返信(1)返信します

  • P粉805535434

    P粉8055354342023-09-13 11:42:54

    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
  • キャンセル返事