Рельсы, турболинки и javascript. Как избежать дублирования кнопки переключения? - PullRequest
0 голосов
/ 11 марта 2020

Я использую кнопку Switchery в своем приложении Rails, и Turbolinks включен. Когда я перехожу на другую страницу и затем нажимаю кнопку «Назад», кнопка дублируется.

Вот мой Javascript код:

$(document).on('turbolinks:load', function() {
var elem = document.querySelector('.js-switch');
var switchery = new Switchery(elem, {className:"switchery switchery-small"});
});

Html просмотр:

<b>Assign as administrator?<span> <%= f.check_box :admin, class:"js-switch" %></span></b>

Снимок экрана: Просмотр

Так, как я могу решить эту проблему?

1 Ответ

0 голосов
/ 11 марта 2020

Несколько вызовов

Вы можете отфильтровать существующие элементы, которые уже были вызваны, выполнив поиск data-switchery = "true".

  var elem = document.querySelector('.js-switch:not([data-switchery])');

...