11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous Smiley smile

- Avant tout, mon problème se situe ici sous Firefox principalement. Sous IE l'évènement selectstart résoud mon problème. Je parlerai donc par exemple uniquement de la fonction addEventListener et non pas des autres variantes Smiley cligne -

En bref et pour résumer le problème, j'utilisais document.onmousedown encore il y a peu pour désactiver la sélection du texte lors du déplacement d'un objet dans la page (drag&drop) sous firefox avec ce petit bout de code :

<script type="text/javascript">
document.onmousedown=fonction_test;
function fonction_test() {
    if(drag_and_drop_actif) return false;
}
</script>


Actuellement je m'occupe de regrouper mes fonctions dans une bibliothèque de fonctions. Pour maximiser la compatibilité avec d'autres fonctions utilisant le "document.onmousedown", j'ai dû utiliser la fonction addEventListener pour les appeler toutes en même temps lors d'un "click".

Voilà donc le nouveau morceau de code :

<script type="text/javascript">
document.addEventListener('onmousedown', fonction_test, true);
function fonction_test() {
    if(drag_and_drop_actif) return false;
}
</script>


... Et là, c'est le drame. Ca ne fonctionne plus !

Voilà d'où découlent mes deux questions :
* Quelle est (sont) la (les) différence(s) entre addEventListener et document.on"evenement"?
* Quelle solutions proposeriez-vous dans ce cas précis?

Merci d'avance pour vos réponses Smiley biggrin
Bonne soirée.
Modifié par Boa (13 Feb 2009 - 19:48)
Et utilises plutôt false pour le dernier paramètre. Il s'agit du sens dans lequel l'évènement se propage (de la source vers le parent ou du parent vers la source). IE ne gère que de la source vers le parent.