2010-07-04 2 views
2

J'ai quelques points d'ancrage avec un événement click:éviter la réinitialisation du navigateur de l'événement onclick (prototype)

$$('.someanchor').invoke('observe', 'click', somefunction); 

Lorsque l'ancre est cliqué, en haut les rouleaux du navigateur. J'ai essayé d'insérer return false à la fin de somefunction, mais il continue de défiler.

Habituellement j'utiliser quelque chose comme:

Event.observe('somelement', 'click', somefunction, false); 

Mais ce travail ne marche pas pour une collection d'éléments. Alors, comment puis-je return false à partir d'une déclaration invoke?

Répondre

2

Dans somefunction, ajoutez ce qui suit à la fin du corps de la fonction (assurez-vous e est le dernier argument, et est utilisé pour l'objet Event):

e.preventDefault(); 
2

« e.preventDefault() » empêche le comportement par défaut de l'ancre mais pas la propagation de l'événement (bullage). J'utiliserais "Event.stop (event)" pour neutraliser les deux, juste pour être du bon côté.

Questions connexes