2012-01-27 3 views
2

Contexte

J'ai une vue arborescente des dossiers (.directory):Afficher les boutons de la souris

enter image description here

Quand je mouseOver sur un dossier, je montre/boutons de masquage (.delete et .add).

Je dois pouvoir cliquer sur ce bouton.

Question

Comment laisser les boutons affichés quand je mouseLeave .directory?

code

:

<li> 
    <a class="directory">TEST</a> 
    <a class="delete" style="display: none;"></a> 
    <a class="add" style="display: none";></a> 
</li> 

:

$('a.directory').on({ 
    mouseenter: function() { 
     $(this).parent().find('a.delete, a.add').show(); 
    }, 
    mouseleave: function() { 
     $(this).parent().find('a.delete, a.add').hide(); 
    } 
}); 
+0

Peut-être peut-être bon hoverIntent() a bien: http://cherne.net/brian/resources/jquery.hoverIntent.html –

+0

pouvez-vous poster le code javascript? – Rafay

+0

@ 3nigma: Fait. –

Répondre

3

Juste essayer de l'envelopper

<div class="directory"> 
    <a class="value">TEST</a> 
    <a class="delete" style="display: none;"></a> 
    <a class="add" style="display: none";></a> 
</div> 

Puis, quand le répertoire en vol stationnaire, il sera toujours plané lorsque vous survolez .delete ou .add

$('div.directory').on({ 
    mouseenter: function() { 
     $(this).children('a.delete, a.add').show(); 
    }, 
    mouseleave: function() { 
     $(this).children('a.delete, a.add').hide(); 
    } 
}); 
2

vous devez envelopper les trois éléments dans un élément de bloc, comme un div, et faire la mouseenter sur le div

Questions connexes