Подтвердить что ты не робот

Как связать .hover() с динамически созданным элементом "li"?

Все решения, которые я смог найти, предлагают использовать метод .live(). Но на сегодняшний день он устарел.

.hover() отлично работает на элементах "li", которые не создаются динамически. Но как только я добавляю новый "li" .hover(), не запускается вообще.

Кто-нибудь это понял?

4b9b3361

Ответ 1

Событие "hover" устарело с делегированной обработкой событий, например .on() за .on() страницы dQuery doc.

Вместо этого вам нужно использовать .on() делегированную обработку событий с помощью мыши и мыши и обработчик событий для каждого.

Например:

$(document).on("mouseenter", "li", function() {
    // hover starts code here
});

$(document).on("mouseleave", "li", function() {
    // hover ends code here
});

В вашем реальном коде вы должны выбрать статический родительский объект, который намного ближе к динамическим тегам li, чем объект document для лучшей производительности.

Ответ 2

Использовать JQuery Вкл. Попробуйте следующее:

$(document).on('hover', 'li', function () {

});

Ответ 3

Попробуйте это

Изменить: Sry пропустил устаревшее событие

$(document).on("mouseenter", "li", function(){
       //Your code
});

http://api.jquery.com/live/

fiddle