Deux éléments du DOM HTML qui se chevauchent, à la fois sensible à un événement click , souffrent du problème séculaire des événements Degi de propagation entre les couches de la DOM lui-même: la soi-disant la propagation d'événements. Ce comportement (qui se trouve aussi dans d'autres environnements de développement: voir Actionscript 3.0: MovieClip sur MovieClip ) est en soi utile dans de nombreux cas. Cependant, dans d'autres, génère pas quelques problèmes. . Par exemple, imaginez que nous avons un div conteneur sensible à l'événement click . En plus de cela, nous trouvons un lien vers une ancre classique a . En cliquant sur le lien en plus de la page "changement" a déclenché l'événement associé à la div conteneur. contenitore, possiamo usare jQuery in questo modo: Pour éviter la propagation de l'événement click de l'ancre a la div conteneur, nous pouvons utiliser jQuery de cette façon:
1 2 3 4 5 6 7 8 9 10 11 | "box" > < div id = "box"> "mylink" href = "#" > Link < / a > < a id = "mylink" href = "#"> LIEN </ a > </ div > <- Ou sur -> "box" > < div id = "box"> <! - Content -> </ div > <- Cet ancrage possède modèles établis de manière à être en position absolue ou relative et ensuite superposée sur le conteneur div -> "mylink" href = "#" > Link < / a > < a id = "mylink" href = "#"> LIEN </ a > |
si propaghi agli elementi sottostanti: En utilisant jQuery, vous pouvez empêcher l'événement click sur la balise d'ancrage a se propager à des éléments ci-dessous:
1 2 3 4 5 6 7 | ) . click ( $ ('# A mylink'). Cliquez sur ( event ) { function (event) { event. target . href ; documents = lieu de l'événement objectifs href...; ; . événement stopPropagation (); ; . événement preventDefault (); } ); |











Bonjour,
quelqu'un me dit que le code dans le poste ça marche? Je voudrais éviter que les liens dans le premier niveau de ma faire le menu à plusieurs niveaux ouvrir une nouvelle page (créer le menu avec les fonctions de WordPress, donc je ne peux pas supprimer le lien), à savoir: en cliquant sur le lien doit seulement apparaître le sous-menu de premier niveau ( Je ne comparais avec jqueryslidemenu, mais c'est une autre histoire ...
)
Je vous remercie!