`return false " dans un gestionnaire d'événement attaché par la méthode addEventListener ou de l'élément.*
Droit let's get cela la voie d'abord. Oui, je veux cacher le menu contextuel. Non, je n'essaie pas d'empêcher quelqu'un de levage contenu de mon page. Son utilisation est entrée pour un jeu par navigateur et il sera limité à une zone spécifique de la page web.
Le déplacement de l'idéologie de la technique...
var mouse_input = function (evt) {
//...
return false;
}
document.onmousedown = mouse_input; //successful at preventing the menu.
document.addEventListener('mousedown', mouse_input, true); //unsuccessful
Quelqu'un pourrait-il m'expliquer pourquoi le addEventListener
version est incapable d'arrêter le menu contextuel à partir de tir? La seule différence que j'ai pu voir dans Safari's de l'Inspecteur Web était que document.onmousedown
avait un isAttribute
valeur qui était vrai alors que le addEventListener
version a la même valeur que la valeur false.
OriginalL'auteur casr | 2010-08-11
Vous devez vous connecter pour publier un commentaire.
Donc mon infructueuse recherche soudainement devenu fécond.
Fonctionne pour Safari, Firefox, Opéra.
preventDefault()
arrête les actions habituelles de passe. J'ai dû modifier l'événement qui a été écouté pour accueillir pour Safari et il est plus logique de toute façon. Plus d'informations: les fonctions permettant de mettre en œuvre EventListener ne devrait pas les valeurs de retour de sortereturn false
a eu aucun effet.attachEvent
et définirwindow.event.returnValue
àfalse
.Merci pour l'info. Je suis ciblage des navigateurs avec
<canvas>
soutien et heureusement je crois IE9 a la fois que etaddEventListener
.Oui, c'est vrai. Juste assez.
OriginalL'auteur casr
Pour expliquer la différence ..
element.onmousedown = somefunction;
est une cession absolue; vous êtes remplacement le gestionnaire d'événement sur l'élément.element.addEventListener(...)
est, comme son nom l'indique, ajoutant un gestionnaire en plus de tout gestionnaire(s) déjà fixée pour l'événement.OriginalL'auteur Stephen P