If any element’s text is clicked once it is changed into “TEXT-1” otherwise if doublecliked into “TEXT-2”. So I have created a conditional with 2 different sentences according to the different output.
In the present JS there is a problem with e
which is not defined and I do not know how to fix it. Also I am not sure if the syntax of e.type === 'click'
and later on e.type === 'dblclick'
is correct.Thanks
if ( e.type === 'click') { document.querySelector('ul').addEventListener('click', onClick) function onClick(e){ let val; val = e.target.innerText = 'TEXT-1'; e.preventDefault(); console.log(val) }} else if (e.type === 'dblclick'){ document.querySelector('ul').addEventListener('dblclick', onClick) function onClick(e){ let val; val = e.target.innerText = 'TEXT-2'; e.preventDefault(); console.log(val) }}
<ul> <li> List Item 1 </li> <li> List Item 2 </li> <li> List Item 3 </li> </ul>
Advertisement
Answer
You could try add multiple event listeners on your items.. In this example there is an unordered list with 3 items
const items = document.querySelectorAll('li'); items.forEach((e)=>{ e.addEventListener('click', ()=>{ e.textContent = "text1" }); e.addEventListener('dblclick', ()=>{ e.textContent = "text2" }); })
<ul> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ul>