2015-04-03 2 views
0
$('body').on({ 
    mouseenter: function() { 

     $(this).siblings('span').show(); 
    }, 
    mouseleave: function() { 

     $(this).siblings('span').show().hide(); 
    } 
}, "div"); 

я помещаю мой HTML, как этоMouseover JQuery на родственных элементы Flick

<div></div> 
<span>x</span> 

It щелчки, когда я наведите курсор мыши на пролет, как решить, что без перемещения пяди, как ребенок в поле в DOM?

ответ

1

Это потому, что вы не привязаны события правильно:

$('body div').hover(function(){//mouseover event 
    $(this).next().show(); 
},function(){//mouseleave event 
    $(this).next().hide(); 
}); 

Вы также можете сузить код, чтобы использовать .toggle() по наведению:

$('body').on('hover','div',function(){ 
    $(this).next().toggle(); 
}); 
+0

не может ли быть причиной мыши и мыши? –

+0

две функции аргумента в наведении представляют собой события mouseover и mouseleave соответственно. –

+0

будет ли это работать для будущего элемента? Я должен использовать on() –

0

Как вы хотите связать событие, чтобы охватить :

$('body').on("hover", "span", function(){ 
    $(this).show(); 
},function(){ 
    $(this).hide(); 
}); 

Вы также можете использовать мышь и мышь также:

$('body').on("mouseenter","span", function(){ 
     $(this).show(); 
    }).on("mouseleave", "span",function(){ 
     $(this).hide(); 
    }); 
+0

Я должен использовать на() –

+0

обновленный ответ с использованием .on() – mohamedrias

Смежные вопросы