@mrzgt

Как сделать что бы после .clone кнопка выполняла скрипт?

Есть кнопка
<div id="mobmenu">
<nav id="menu" class="menu">
menu
</nav>
<main id="main" class="panel">
<button class="toggle js-slideout-toggle">☰</button>
</main>
</div>

var slideout = new Slideout({
  'panel': document.getElementById('main'),
  'menu': document.getElementById('menu'),
  'padding': 256,
  'tolerance': 70
});

document.querySelector('.js-slideout-toggle').addEventListener('click', function() {
  slideout.open();
});

function close(eve) {
  eve.preventDefault();
  slideout.close();
}

slideout
  .on('beforeopen', function() {
    this.panel.classList.add('panel-open');
  })
  .on('open', function() {
    this.panel.addEventListener('click', close);
  })
  .on('beforeclose', function() {
    this.panel.classList.remove('panel-open');
    this.panel.removeEventListener('click', close);
  });


Ету кнопку клонирую при помощи
$('#mobmenu').clone().appendTo('#mobmenu_clone');

Клон кнопки перестает работать, подскажите как можно решить такую проблему
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Так и должно быть, при клонировании обработчики всегда слетают. Если хотите, чтобы не слетало, используйте onclick:
<button onclick="slideout.open();" class="toggle js-slideout-toggle">☰</button>

Либо после клонирования заново вешайте обработчики.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
20 нояб. 2024, в 20:26
2400 руб./за проект
20 нояб. 2024, в 19:18
30000 руб./за проект
20 нояб. 2024, в 19:13
1000 руб./за проект