Вы правы, изображения, которые вы добавляете на страницу, не имеют эффектов наведения. Это связано с тем, что обработчик событий присоединяется только к элементам, найденным во время вызова hover()
. Новые элементы (например, созданные clone()
) не имеют прикрепленных обработчиков событий.
В вашем случае вы можете использовать clone(true)
, что указывает jQuery копировать обработчики событий и данные, а также .
Другой вариант - прикрепить событие наведения к родительскому элементу (#images), используя on()
, и указать селектор для фильтрации дочерних элементов, которые должны вызывать событие, например:
$("#images").on("mouseover", "img", function() {
// mouseover code
}).on("mouseleave", "img", function() {
// mouseleave code
});
В этом случае, поскольку обработчик событий присоединен к # images , он будет срабатывать независимо от того, какие элементы img
вы добавите в него в будущем.