読者です 読者をやめる 読者になる 読者になる

Turbolinks環境でmetisMenuを利用する方法

Javascript Rails

RailsではデフォルトでTurbolinksが有効になっていますが、Turbolinksを利用すると他のJavascriptの挙動が意図したとおりにならない場合があります。metisMenuも、サンプルコードをそのままTurbolinksを有効にした環境で実行すると、動作しません。

サンプルコードでは以下のようになっていました。

$(function() {
    $('#side-menu').metisMenu();
});

以下のように変更すると、Turbolinks環境でもmetisMenuが動作します。

$(document).on('page:load', function () {
    $('#side-menu').metisMenu();
});

stackoverflow.com