Jquery событие двойного щелчка после добавления элемента к другому элементу

Я использую гибкий инструментарий, фреймворк, который генерирует код JavaScript из PHP. У меня есть элемент div (назову его "top-element"), который содержит некоторые другие элементы div, несколько кнопок. Я хочу переместить "верхний элемент" в другой элемент, чтобы изменить его родительский элемент.

Я попробовал что-то вроде:

$('#top-element').appendTo($('#new-parent'));

Но проблема в том, что у "верхнего элемента" есть некоторые дочерние элементы, у которых есть события нажатия, некоторые кнопки. После того, как я добавляю "верхний элемент" к новому элементу (после изменения его родителя), события нажатия запускаются дважды.

Я попытался клонировать элемент и добавить клонированный элемент к новому родителю:

var cloned_top_element = $('#top-element').clone(true);
cloned_top_element.appendTo($('#new-parent'));

У меня возникла та же проблема, событие click для детей "top-element" вызывалось дважды.

Способ предотвращения двойного щелчка заключается в использовании:

unbind('click') or off('click')

Я попробовал что-то вроде:

$('#new-parent').find('.children-class').unbind('dblclick').unbind('click');

Но до сих пор нет результатов.

Привязка для дочерних кнопок выглядит следующим образом:

$('.children-class').bind('click',function(ev){ ev.preventDefault();ev.stopPropagation(); other stuff });

Функция связывания появляется только один раз. В коде js нет дубликатов.

Есть идеи? Ожидаемое спасибо.

1 ответ

Решение

Удалить true в функции клона .clone(); это не будет копировать обработчики событий

Другие вопросы по тегам