Désactiver des liens lors d'un dragging...

VicTeams Messages postés 63 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 27 février 2011 - 17 févr. 2011 à 11:05
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 - 27 févr. 2011 à 11:05
Bonjour à tous, je ne sais pas si c'est dans la bonne catégorie, je ne connais pas bien le js...

Enfaite j'ai besoin de votre aide car depuis avant hier, je cherche comment faire pour "Verrouiller" des liens lorsque je fait un drag and drop.

Enfaite j'utilise ce script ci : http://www.redips.net/javascript/drag-and-drop-table-content/

Je l'ais entièrement adapté à mon template. Mais j'ai un problème assez pertinent que je n'arrive pas a résoudre.

Mon drag an drop est en place, via des images et selon la méthode switch (le bloc déjà présent prend la place de celui qui est déplacé) Tous fonctionne nickel.

Mais je cherche à verrouiller les liens sur mes images pendant le déplacement du div associé à ce bloc.

Pour activer le déplacement des blocs j'ai une checkbox comme ceci :

Activer le déplacement



Je voudrais rajouter un code js/html/php/ajax peut importe, qui verrouille les liens quand cette case est coché.
Car ils sont actifs lors du déplacement des blocs, mais quand le bloc se repositionne à l'emplacement voulu, le lien s'active, du coup la page change et cela m'empêche de sauvegarder la disposition....

J'espère être assez explicite. Merci pour votre aide

5 réponses

jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
20 févr. 2011 à 15:25
Il s'agirait de parcourir l'ensemble des liens de la page (document.getElementsByTagName("a") et de rajouter à leur attribut onclick "return false". Quelque chose de ce genre (non testé)
function bloque(){
liens=document.getElementsByTagName("a");
for(var i=0;i<liens.length;i++){
liens[i].setAttribute("onclick","return false");
}
}




JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
0
VicTeams Messages postés 63 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 27 février 2011
20 févr. 2011 à 18:14
Salut, merci pour cette super réponse, personnellement je n'y connais rien au JS, mais rien de chez rien....

En testant le code que vous m'avez donné, il fonctionne (en partie ?!!), les liens se désactive bien, mais lorsque la case est décochée, les liens sont toujours là (c'est à dire que je voie le lien dans la barre d'état du browser) mais il est "inactif", j'ai beau cliqué dessus, il ne se passe rien ;)
0
jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
21 févr. 2011 à 00:49
function debloque(){
liens=document.getElementsByTagName("a");
for(var i=0;i<liens.length;i++){
liens[i].removeAttribute("onclick");
}
}




JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
0
VicTeams Messages postés 63 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 27 février 2011
21 févr. 2011 à 14:04
Merci, cela fonctionne à une exception prête.

Si je dois mettre bloque(); dans mon OnClick=""
Ou dois-je mettre debloque ();

j'ai essayé avec cette fonction ci, mais rien ne fait :
if(document.test.deplacer.checked) {

  function bloque(){
liens=document.getElementsByTagName("a");
for(var i=0;i<liens.length;i++){
liens[i].setAttribute("onclick","return false");
}
} 


}else{
function debloque(){
liens=document.getElementsByTagName("a");
for(var i=0;i<liens.length;i++){
liens[i].removeAttribute("onclick");
}
}        

}


Je craint que cette fonction ne fonctionne que si la page est rechargée...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
27 févr. 2011 à 11:05
Et en lançant cette dernière fonction avec un setTimeout (pour être certain que le bouton soit effectivement coché) lors d'un onclick sur la case à cocher ?
0
Rejoignez-nous