質問: function(){ return false; } }); このように無効にしてみたのですが、再度同ページを開くとjsが動作しません。 ``` ### 試したこと ### 補足情報(言語/FW/ツール等のバージョンなど)
回答: まず端的に言いますと、pjaxとJavaScriptを正しく共存させるには、**それに合わせたJavaScriptの設計を行う**必要があります。 たとえば、ページごとにJavaScriptやCSSが違えば、せっかくpjaxで遷移してもメチャクチャな表示になるだけですので、**全ページでJavaScript/CSSファイルを統一する**ことがおすすめです。 そして、ページ内のエレメントに仕掛けるJavaScriptについては、**ページ遷移のたびごとに、正しいページか確認しつつ**セットする必要がありますが(pjaxでエレメントが消えればイベントごと消えてくれます)、グローバルに適用するものについては**最初のロード時だけ**適用すれば十分です。また、`window`にセットしないと動かない`scroll`や`resize`などのイベントについては、多重にセットしてしまわないように注意が必要です。 Rails開発で、似たようなTurbolinksを使っていますが、複雑なJavaScriptを組んだページを正しく動かすにはかなりの技量が必要です。