Bonjour,
J'ai 2 evènements sur un lien : onMouseDown et onClick.
Ma question est : dans le code que je vais exécuté dans onMouseDown, est ce que je peux faire quelque chose du style....monLien.onClick = false; ???
Merci.
Bonjour,
J'ai 2 evènements sur un lien : onMouseDown et onClick.
Ma question est : dans le code que je vais exécuté dans onMouseDown, est ce que je peux faire quelque chose du style....monLien.onClick = false; ???
Merci.
ou e est ton evenement dont tu souhaites annuler la propagation....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation();
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
Faut juste savoir ou chercher (je connais pas par coeur). Va falloir que je le mette dans la FAQ... piouf, y'aurait tellement de chose à faire, et mon travail qui avance pas :/Envoyé par SpaceFrog
comment je suis déçu !Envoyé par denisC
Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.
Cours | FAQ | Sources Javascript
Cours | FAQ | Sources PHP
Mes Articles
Merci pour la réponse.
Encore une question suite à ta réponse...
Dans mon code éxécuté par onMouseDown, comment je fais pour récupérer/référencer mon évènement onclick ? (je sais pas si ca change quelque chose mais je voudrai que ca fonctionne sur firefox)
Encore merci.
pas compris
Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.
Cours | FAQ | Sources Javascript
Cours | FAQ | Sources PHP
Mes Articles
Je reformule.
Mon évènement onMouseDown va s'exécuter en 1er.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <td><a href="#" onmousedown="return deleteItemWithLink(this);" onclick="document.forms['form']['form:_idcl'].value='form:tableau:0:_id22'; document.forms['form'].submit(); return false;" class="lienBouton"><img src="/WebHandicap/images/supprime.gif" alt="Supprimer la ligne" class="lienBouton" /></a></td>
Dans ma fonction deleteItemWithLink, je voudrais faire des traitements mais empécher ce qui se passe dans le onclick.
A priori, je dois utiliser ca :
Mais pour faire ce que je voudrai, faudrait que dans ma fonction deleteItemWithLink(qui est appelé de onMousedown), je puisse faire quelque chose du style :e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var event = monObj.getEvent; //ou event serait l'évènement onclick event .cancelBubble = true; if (event .stopPropagation) event .stopPropagation();
DenisC => faut deleguer ... mais chui pas modo
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
attends: tu as un mousedown et un click et tu veux que le 2e soit inactif?
mais pourquoi donc donc?
à part ça, faites gaffe aux cancelBubble / stopPropagation; vu d'ici, vous courez à la cata si vous pensez que ça va désactiver le 2e événement
ah voui c est vrai !
ca evite la propagation de l event en question aux elements enfants ou parents c est ca ?
Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.
Cours | FAQ | Sources Javascript
Cours | FAQ | Sources PHP
Mes Articles
En gros, voilà comment ca marche.Envoyé par javatwister
Si je clique sur mon lien, j'affiche une popup de confirmation.
Si réponse = oui, j'éxécute, sinon je ne fais rien.
Le problème : La suppression s'effectue même si je ne réponds pas à la popup à cause de l'évènement onclick (et le code associé) qui est généré automatiquement.
Vu que c'est du code généré, je peux donc pas intervenir dessus. Le seul endroit où je peux agir, c'est dans le code sur onmousedown. J'ai besoin de contrôler quand même le onclick sans s'y avoir accès
Finalement, ce que je voudrais faire, c'est bien ce que tu as compris : c'est désactivé le 2e évènement à partir du 1er
fais un confirm sur le onclick avec une redirection js vers ta page qui fais la suppression.
ou alors avec xmlhttprequest
tu peux pas faire de confirm perso comme ca.
J'ai essayé deja, c est pas possible.
En plus ton onclick doit pas etre sur le lien, ca doit venir de la popup ...
Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.
Cours | FAQ | Sources Javascript
Cours | FAQ | Sources PHP
Mes Articles
je peux pas faire ca, comme je l'ai dis avant, c'est du code qui est généré. Je peux rien faire dedans, c'est écris automatiquement. Je peux pas y toucher....Envoyé par siddh
Je suis ouvert à toutes propositions. Je pourrai utiliser ca comment ? je vais chercher de la doc.Envoyé par siddh
Le onclick est bien sur le lien. Voilà le code source de ma page :Envoyé par siddh
Code : Sélectionner tout - Visualiser dans une fenêtre à part <td><a href="#" onmousedown="return deleteItemWithLink(this);" onclick="document.forms['form']['form:_idcl'].value='form:tableau:0:_id22'; document.forms['form'].submit(); return false;" class="lienBouton"><img src="/WebHandicap/images/supprime.gif" alt="Supprimer la ligne" class="lienBouton" /></a></td>
et ta methode deleteItemWithLink ?
elle fais quoi ?
Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.
Cours | FAQ | Sources Javascript
Cours | FAQ | Sources PHP
Mes Articles
http://javatwist.imingo.net/test.htm
(à explorer, bien sûr)
aie aie caramba !
ben vi un confirm c est bien
Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.
Cours | FAQ | Sources Javascript
Cours | FAQ | Sources PHP
Mes Articles
voilà le code que j'avais :
J'ai essayé ce que tu m'as donné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function deleteItemWithLink(linkObj) { var toDelete = confirm('Voulez-vous supprimer ce frais ?'); if (toDelete == true) { linkObj.onclick(); } }
Merci javatwister ! ca a bien stoppé l'action onclick.
Malheureusement, ca m'amène à un autre problème...En faisant ca "linkObj.onclick=function(){return false};"
ca écrase le code pour onclick, or ce qui est généré j'en ai quand même besoin parce que ca fait des initialisations (entre autre)
Encore une question, est ce que c'est possible de conserver le code avant de l'écraser ? quelque chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function save(){}; function deleteItemWithLink(linkObj) { function save() = linkObj.onclick; linkObj.onclick=function(){return false}; var toDelete = confirm('Voulez-vous supprimer ce frais ?'); if (toDelete == true) { save(); }
ben écoute, dis une fois pour toute ce que fait ton onclick! jusqu'ici, on pensait qu'il servait à soumettre un formulaire, point.
pourquoi ne lances-tu pas sur mousedown les fonctions (d'initialisation, etc.) prévues sur click?
pas la peine de "sauvegarder";
d'abord javatwister merci pour ton aide.
Voilà le code que j'ai dans mon onclick (qui est généré automatiquement...)
En fait, j'ai un tableau qui présente des éléments. Et sur chaque ligne, il y a ce code ci-dessus, qui permet de supprimer l'élément du tableau (et en BDD) (Ce code est "customisé" suivant la ligne)
Code : Sélectionner tout - Visualiser dans une fenêtre à part <td><a href="#" onmousedown="return deleteItemWithLink(this);" onclick="document.forms['form']['form:_idcl'].value='form:tableau:0:_id22'; document.forms['form'].submit(); return false;"></a></td>
Ensuite, j'image que ca :
ca permet d'identifier la ligne cliquée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.forms['form']['form:_idcl'].value='form:tableau:0:_id22';
Je peux pas faire ca, vu que c'est du généré, je peux pas deviné à l'avance ce qu'il va générer car ce qu'il génère c'est fonction des éléments dans le tableau et du nombre d'éléments...pourquoi ne lances-tu pas sur mousedown les fonctions (d'initialisation, etc.) prévues sur click?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager