JQuery парить ()? - PullRequest
       25

JQuery парить ()?

1 голос
/ 22 июля 2011

Я изучаю jQuery и не знаю, как «сообщить» сценарию о том, что что-то произошло.

Например, когда я наведу курсор на .container, он добавляет к нему «серый» класс.Но когда я хочу что-то сделать с недавно созданным «серым» div, тогда ничего не работает.Я слышал о функции live (), но не уверен, что это хороший способ?

   jQuery('.container').hover(function() {
        jQuery(this).animate({opacity: '0.5'},1000);
        jQuery(this).addClass('grey');
    });

    jQuery('.grey').hover(function() {
        jQuery(this).animate({opacity: '0'},100);
    });

Live: http://jsfiddle.net/n5kpM/

Ответы [ 2 ]

2 голосов
/ 22 июля 2011

Из jQuery 1.7+ .live () равен устарел , а .delegate () был заменен .on() метод.

Используйте .on () и .off () вместо .live () и .die ().Используйте .on () вместо .delegate ().

Преобразовать старый код просто , как описано здесь .


live - это именно то, что выхочу.Поскольку элемент .grey не существует в то время, когда вы вызываете hover, он не будет работать так, как вы его используете.Использование live позволит вам применять обработчики до того, как элемент будет существовать.

Следует отметить, что вы не можете использовать live напрямую с hover.Вам нужно сделать 2 события отдельно. jQuery live hover

2 голосов
/ 22 июля 2011

live называется так:

$(...).live('mouseenter', function() { ... });
...