Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Клонирование и другие приключения Шурика (https://javascript.ru/forum/jquery/60037-klonirovanie-i-drugie-priklyucheniya-shurika.html)

spo 08.12.2015 15:55

Клонирование и другие приключения Шурика
 
Извиняюсь за название - информативнее придумать ничего не смог.

Задача следующая.
  • Есть навигация и есть список элементов.
  • Навигация выполняет роль фильтра (показать все, только элементы А, только элементы Б).
  • При наведении на элементы нужно клонировать навигацию внутрь них. При отведении курсора за пределы элементов клон соответственно удалять.
  • Внутри элементов клонированная навигация должна вести себя так же как и основная - менять класс текущего пункта при клике итп.

Я реализовал все кроме выделенного жирным последнего пункта. В метод clone() передаю атрибут true, но скрипт не работает как надо. Толи клонирование происходит без обработчиков, то ли в коде ошибка.

Прошу подскажите что я делаю не так?

http://jsfiddle.net/tvzppbs8/1/

Mess4me 08.12.2015 21:51

spo,
да , Вы правы - клонированный элемент клонируется без обработчиков.

Mess4me 08.12.2015 21:55

spo,

Клонирование узлов копирует все атрибуты и их значения, в том числе собственных (в линию) перехватчиков. Это не копирует пререхватчики событий, добавленных используя addEventListener() или тех что назначены через свойства элемента (т.е node.onclick = fn).

Barbos 08.12.2015 22:02

Событие click назначить через .on()

spo 09.12.2015 05:33

Всем спасибо. Решил следующим образом http://jsfiddle.net/9zz4mx2L/


Часовой пояс GMT +3, время: 18:38.