|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Jonathan ZimmermannInscription : juin 2011 Messages : 20 ![]() |
Bonjour,
Je possède sur mon site une série de "liens draggables". Ce sont donc des objets pouvant être déplacés (jusque là, pas de problème) mais aussi des liens ordinaires. Par conséquent, lorsqu'on les soulève, puis les lâche quelque part, le lien s'active. Ce n'est absolument pas le comportement voulu et je souhaiterais l'enlever. J'ai fait une recherche sur Google, j'ai trouvé plusieurs sujets traitant ce problème, mais la plupart d'entre eux n'avaient pas de réponse. Cependant, je pense qu'on devrait pouvoir utiliser quelque chose du genre "preventDefault" mais étant nouveau en JQuery, je ne vais pas trop m'avancer... Merci d'avance de votre aide, 7804j |
|
|
00
|
|
|
#2 | ||||
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
Sans le code du cas qui vous préoccupe, je ne peux donner que des indications. Le remède radical pour éviter l'action par défaut et la transmission de l'événement : Code :
Exemple : Code :
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
||||
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Jonathan ZimmermannInscription : juin 2011 Messages : 20 ![]() |
Merci de ces informations, qui sont effectivement fonctionnelles dans le cas que je vous ai présenté. Je pense malheureusement que c'était un erreur de ma part de parler de "l'action par défaut" qui s'applique lorsque l'on clique sur un lien, étant donné que c'est justement une action non-naturelle que j'ai ajoutée sur ce derniers.
Au moment du clic sur ces derniers, j'ai donc ajouté l'ouverture d'une fenêtre (utilisant un plugin jQuery) : Code :
Code :
jQuery( ".draggable" ).draggable({ cursor: 'move', opacity: 0.6, stack: ".apps"}); Pour ce cas là, ne faudrait-il pas un event du genre "OnDrag" ? |
||
|
|
00
|
|
|
#4 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonjour
Si vous utilisez jQuery UI, UI Draggable possède des propriétés, des méthodes et des événements. Voir la documentation et le code des exemples : http://jqueryui.com/demos/draggable/ et http://jqueryui.com/demos/draggable/#events
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Jonathan ZimmermannInscription : juin 2011 Messages : 20 ![]() |
Mais comment fait-on pour annuler l'évènement se produisant "onClick" lors de l'action "Drag" ?
J'ai essayé de chercher un peu mais je n'ai rien réussi à faire fonctionner :/ |
|
|
00
|
|
|
#6 | ||
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
En effet, c'est un cas un peu spécial. Les moyens habituels ne conviennent pas. J'ai été obligé de faire appel à un booléen et à un setTimeout pour résoudre le problème. Exemple : Code :
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
||
|
00
|
|
|
#7 |
|
Invité de passage
![]() Jonathan ZimmermannInscription : juin 2011 Messages : 20 ![]() |
Merci de l'aide, en regardant votre code je saisis maintenant mieux le fonctionnement
En tout cas, cela fonctionne parfaitement. J'ai passé le |
|
|
00
|
|
|
#8 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
J'avais également mis le délai à 1s à l'origine.
Mais si l'utilisateur est très dynamique, il déplace la division et clic immédiatement, le premier clic ne fonctionne pas. Je crois que 0.5s est un bon compromis.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
Copyright © 2000-2012 - www.developpez.com