jQuery: comment puis-je obtenir de l'élément en-dessous de mon curseur?
Je suis en train de faire un glisser-déposer d'action, et je veux un élément de décalage vers le bas quand je apporter un élément au-delà de celle qui est, à ma façon.
OriginalL'auteur NullVoxPopuli | 2010-08-13
Vous devez vous connecter pour publier un commentaire.
un simple hack serait de dire quelque chose comme:
puis, quand vous avez besoin d'appeler ce que jamais la fonction pour obtenir la valeur, il suffit d'utiliser hoverElem
EDIT: c'est moins gourmand en ressource appel:
EDIT 2: en raison de l' .live() déconseillé, vous devez utiliser .()
mouseleave
vous devez utiliser$('*').live('mouseenter', function() { hoverEleme = this; });
, c'est un beaucoup moins cher, le plus d'éléments que vous obtenez.dûment noté. j'ai pensé passez seulement mouseenter quand il y avait juste la première fonction dans l'appel.
.live a été désapprouvée.
Vous en bas de voter une réponse à partir de 5 ans parce qu'une méthode a été déprécié à la suite? Au lieu de cela, la chose aurait été de commentaire (comme vous l'avez fait) et ensuite de poster une nouvelle réponse.
Oups! Honnêtement, je n'étais pas au courant que c'était un non-non, désolé.
OriginalL'auteur Jeremy Boyd
C'est beaucoup moins cher que d'attacher un gestionnaire de la souris sur chaque élément (qui se déclenche aussi sur mouseleave), en particulier le plus d'éléments que vous obtenez.
OriginalL'auteur antony.trupe
Je ne sais pas si il y a une manière standard, mais je serais probablement lier un "survol" de l'événement à tous les éléments que vous pouvez déplacer vers le bas si vous êtes au-dessus d'eux et puis testez pour voir si vous êtes actuellement le déplacement d'un objet.
Encore une fois, je ne sais pas vraiment votre configuration exacte, mais vous pourriez avoir une variable globale
var currentlyDragging = false
puis, quand vous commencez à faire glisser l'ensemble verstrue
. Ensuite, lorsque vous passez la souris sur un élément que vous souhaitez déplacer hors de votre chemin, vous pouvez tester pour voir si votrecurrentyDragging
variable est vrai et si c'est le cas vous pouvez le déplacer.Peu compliqué, mais je ne peux pas vraiment penser à un autre moyen de le faire sur le dessus de ma tête. 🙂
OriginalL'auteur Thomas Clayson