Je veux créer un bookmarklet, et quand vous appuyez dessus, tous les éléments de la page reçoivent un événement onclick qui appelle une fonction avec l'élément comme paramètre ou au moins les éléments id/class/something, est-ce possible? Dans ce cas, comment ferais-je?Un bookmarklet qui ajoute un événement onclick à chaque élément de la page?
-1
A
Répondre
2
click
bulles. Il suffit donc de se lier à la <body>
et vérifier ce que le target
de l'élément d'événement est (vous aurez besoin de faire un peu de normalisation de l'événement pour se déplacer IE étant différent de tout le monde.)
event.target
est l'élément DOM réel, donc vous pouvez filtrer sur tout ce que vous voulez filtrer sur ce point. Cela a pour avantage que le nombre d'éléments sur la page n'a pas d'importance, vous n'avez besoin que d'un gestionnaire d'événements pour chacun d'entre eux. (Ce qui signifie que les performances seront meilleures sur les pages comportant des centaines ou des milliers d'éléments.)
0
javascript:void(document.body.onclick = function (event) { event = event || window.event; var element = event.target || event.srcElement; alert(element.textContent) })