2009-07-22 4 views
0

J'ai un élément de lien où je capture l'événement mousedown et arrête l'événement de bouillonner afin que les autres éléments de la page ne soient pas sélectionnés. Cependant dans firefox (3 & 3.5) quand j'utilise le modèle d'événement DOM 2 Il sélectionne toujours d'autres éléments dans la page.Firefox DOM2 événement de souris vers le bas sélectionne les éléments lors de l'utilisation stopPropagation

Je l'ai testé dans l'opéra et ça marche bien sans sélectionner d'autres éléments. Un autre problème étrange est que si j'utilise le modèle d'événement DOM 0, cela fonctionne bien et ne sélectionne pas d'autres éléments. Est-ce un bug dans Firefox ou est-ce que je le fais juste mal?

Voici les 2 gestionnaires d'événements que j'ai utilisé pour tester

past.addEventListener('mousedown', function (e) { 
    e.stopPropagation(); 
    return false; 
}, false); 

past.onmousedown = function (e) { 
    e.stopPropagation(); 
    return false; 
}; 

Répondre

0

Avez-vous essayé e.preventDefault()? stopPropagation va arrêter les gestionnaires d'événements sur les éléments ancêtres qui sont invoqués, mais ce n'est pas la même chose que d'empêcher l'action par défaut d'être prise. Comme les spécifications DOM ne spécifient pas vraiment comment les événements de la souris et la sélection doivent interagir en termes de modèle d'événement, il peut s'agir de l'un des domaines où un navigateur le fait d'une manière, l'autre le fait "faux".

+0

Impressionnant :) Tellement facile! – Alex

Questions connexes