2010-07-26 8 views
3

Je crée un environnement d'image glisser-déposer, où si vous passez la souris sur une image, un petit menu surgit dessus. Si vous cliquez et faites glisser l'image, vous pouvez les réorganiser.jQuery - arrêt d'un événement de survol pendant le glissement

Le problème que j'ai, c'est, je veux que l'événement hover soit désactivé lorsque vous faites glisser. Actuellement, si vous faites glisser une image, elle déclenche tous les menus du survol sur les autres images que vous survolez.

$('ul.imglist li').mousedown(
    function() { 
    $(this).find('ul') 
     .fadeOut(100); 
    }); 

// Image actions menu 
$('ul.imglist li').hover(
    function() { 
    $(this).find('ul') 
     .css('display', 'none') 
     .fadeIn('fast') 
     .css('display', 'block'); 
    }, 
    function() { 
    $(this).find('ul') 
     .fadeOut(100); 
    }); 

J'ai un peu de jQuery ici, l'événement est en vol stationnaire bas celui que je veux désactiver tout en faisant glisser, le haut mousedown est ce qui se débarrasse du menu lorsque vous cliquez sur l'image. J'ai besoin de quelque chose qui désactivera le survol tout en déplaçant la souris, avec la touche encore enfoncée (glisser).

J'ai essayé quelques choses sans aucune chance, est-ce que quelqu'un a une suggestion?

Répondre

0

Il existe des centaines de façons.

// Image actions menu 
$('ul.imglist li').hover(
    function() { 
    $(this).find('ul') 
     .css('display', 'none') 
     .fadeIn('fast') 
     .css('display', 'block'); 
    }, 
    function() { 
    $(this).find('ul') 
     .fadeOut(100); 
    }); 

devrait être sur l'événement mouseup ... puis sur mousedown vous pouvez même annuler l'événement en vol stationnaire. En passant, regardez la reliure et la désolidarisation

mais pourquoi ne pas utiliser l'interface utilisateur déplaçable? et vous épargner un peu d'effort de fin de temps