Я использую гибкий инструментарий, фреймворк, который генерирует код javascript из PHP. У меня есть элемент div (я назову его «верхний элемент»), который содержит некоторые другие элементы 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 нет дубликатов.
Есть идеи? Ожидаемое спасибо.