I have a webpage with this HTML:
<body>
<a href="https://google.com">1</a>
<a href="https://bing.com">2</a>
</body>
I want that each link that was clicked (desirably, by the click()
method) would start to include a data-clicked
attribute-value directly after it was clicked for the first time.
Is there any way to do that?
Hi @bendqh1 , yes calling click()
on an element will fire a click event like a regular pointer action… so you can add event listeners like so:
const links = document.querySelectorAll('a')
links.forEach(link => {
link.addEventListener('click', event => {
event.target.dataset.clicked = 'clicked'
}, { once: true })
})
… and with the once
option set to true
, each event listener will remove itself after the first event it received.
1 Like
system
Closed
July 9, 2022, 11:04pm
3
This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.