Простой Jquery Hover Issue - PullRequest
       1

Простой Jquery Hover Issue

1 голос
/ 28 января 2011

У меня есть несколько очень простых jquery, перечисленных ниже:

$(".block").hover(function(){
    $(".drag").stop().fadeIn(1000);                
}, function(){
    $(".drag").stop().fadeOut(1000);
});

У меня есть серия div, каждый из которых имеет класс block. При наведении курсора на .block, .drag исчезает во всех элементах div с классом блока. Я просто хочу, чтобы .drag был добавлен к элементу, над которым находится мышь, а не ко всем из них. Спасибо!

Ответы [ 2 ]

2 голосов
/ 28 января 2011

Предполагается, что элемент .drag, который вы хотите, является потомком элемента, наведенного на:

$(".block").hover(function(){
    $(this).find(".drag").stop().fadeIn(1000);                
}, function(){
    $(this).find(".drag").stop().fadeOut(1000);
});
1 голос
/ 28 января 2011

Как насчет использования делегата?

Вы не можете использовать hover, вам нужны mousein и mouseout JQuery API -> Delegate () . Документы API специально упоминают событие hover.

 // something more specific than body would probably be good, but some 
 // common parent of these divs
 $('body').delegate('.block', 'mousein', function() {
     $(this).find(".drag").stop().fadeIn(1000); 
 });

 $('body').delegate('.block', 'mouseout', function() {
     $(this).find(".drag").stop().fadeOut(1000);
 });
...