Bootstrap4のナビゲーションメニューは、デフォルトではクリック時にメニューが閉じません。
これって、シングルページなどの場合で、1つのページ内でリンクする場合は大変不便。
自動で閉じるように改良したいな、と思ったら方法を発見。
忘れないようにメモメモ。
方法は簡単。
Jqueryの読み込みの後に、下記のスクリプトを入れるだけ。
$(‘.navbar-nav>li>a , .dropdown-menu>a’).on(‘click’, function(){
if(this.id != ‘navbarDropdown’){
$(‘.navbar-collapse’).collapse(‘hide’);
}
});
collapse(“hide”)がポイントです。
これでメニューのリンククリック時に、自動でメニューが閉じてくれます。
と、解決したと思ったら別の問題が!
クリックしたらメニューを閉じるという命令は、つまりサブメニューをクリックして開くことができないという別問題が出てしまった。
仕方なく、スマホ画面でのサブメニューは開きっぱなしな状態にした。
ulのclass名を書き換えるだけ
ul class=”dropdown-menu”
↓
ul class=”list-group”
に変更するだけです。