SHORTCAT

頑張らないために、頭を使ってます。

MENU

twentytwentyでページ内リンクがおかしく、return false;も効かず、.preventDefault();も効かなかった。

タイトル通り。

wordpressのテーマ、twentytwentyを使用したサイト制作で、ページ内リンクがうまく動かず、挙動が変になる問題が起きた。

 

めちゃくちゃハマって4時間くらい画面と向き合ってた。

 

原因

ChromのJSを切る設定に変えたところ、正常に動くことが確認できたので、どこかのjsが干渉していると仮説立てた。

 

twentytwentyのassetsのフォルダ内の、jsフォルダにある、index.jsにこんな記述があった。

 

f:id:biyl:20200420234128p:plain

 

デフォルトでスムーススクロールが実装されてて、そこと競合していたっぽい。

 

ありがた迷惑杉内俊哉

解決策

まだ解決というよりか、対処だが、このindex.jsのフォルダ名を_index.jsに変えて読まないようにした。

すると、正常に動いた。

 

詳細な解決策はわかり次第追記していこうと思う。

 

 

試したこと

巷で出回るreturn false;とかpreventDefault();だと挙動がおかしくなっていた。