Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.12.2015, 15:55
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

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

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

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

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

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

Последний раз редактировалось spo, 08.12.2015 в 15:58.
Ответить с цитированием
  #2 (permalink)  
Старый 08.12.2015, 21:51
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

spo,
да , Вы правы - клонированный элемент клонируется без обработчиков.
Ответить с цитированием
  #3 (permalink)  
Старый 08.12.2015, 21:55
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

spo,

Клонирование узлов копирует все атрибуты и их значения, в том числе собственных (в линию) перехватчиков. Это не копирует пререхватчики событий, добавленных используя addEventListener() или тех что назначены через свойства элемента (т.е node.onclick = fn).
Ответить с цитированием
  #4 (permalink)  
Старый 08.12.2015, 22:02
Аватар для Barbos
Новичок на форуме
Отправить личное сообщение для Barbos Посмотреть профиль Найти все сообщения от Barbos
 
Регистрация: 16.11.2015
Сообщений: 7

Событие click назначить через .on()
Ответить с цитированием
  #5 (permalink)  
Старый 09.12.2015, 05:33
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

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

Последний раз редактировалось spo, 09.12.2015 в 06:42.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск