Ошибка анимации jQuery на клонированных элементах - PullRequest
0 голосов
/ 07 мая 2009

В Firefox это, кажется, работает нормально - но Safari, Opera и Chrome имели проблемы. JQuery.ui (строка 3181) выдаст ошибку, которая контролирует изменение цвета элементов, то есть эффект «Подсветка».

Это происходит только при попытке клонировать и выделить клон в одном действии, т.е. $(targetStory).after(targetStory.clone().effect("highlight", {}, 1300));

Это прекрасно работает в Firefox, но заставляет другие браузеры зависать - targetStory - это просто идентификатор клонируемого элемента, и его необходимо клонировать после этого элемента.

Кто-нибудь сталкивался с этой ошибкой раньше, и есть ли другое решение, позволяющее легко оживить клон? Чем меньше строк, тем лучше.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2009

Если клонируемый вами элемент имеет идентификатор, вам нужно удалить (или изменить) идентификатор клона, прежде чем поместить его обратно в DOM. Попробуйте:

$(targetStory).clone().removeAttr('id').insertAfter(targetStory)
  .effect(...);
0 голосов
/ 27 сентября 2009

А как же:

 $(targetStory).clone().effect("highlight", {}, 1300)).insertAfter(targetStory);

Точно то же самое, просто другой порядок. Не уверен, почему FF в порядке, а остальные сломаны, хотя ...

...