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();
это не будет копировать обработчики событий