Computer >> Computer tutorials >  >> Programming >> Javascript

I'm generating a list from an array. How can I know what element I'm clicking in JavaScript?


For this, you can use addEventListener().

Example

Following is the code −

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Document</title>
</head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<body>
</body>
<script>
   var addButton;
   for (let i = 0; i < 3; i++) {
      addButton = document.createElement('button')
      if (i == 0) {
         addButton.innerHTML = "Javascript"
         addButton.dataset.subject = "Javascript"
         document.body.appendChild(addButton)
      }
      if (i == 1) {
         addButton.innerHTML = "MySQL"
         addButton.dataset.subject = "MySQL"
         document.body.appendChild(addButton)
      }
      if (i == 2) {
         addButton.innerHTML = "Java"
         addButton.dataset.subject = "Java"
         document.body.appendChild(addButton)
      }  
      addButton.addEventListener('click', function (evnt) {
         console.clear();
         console.log('Subject ' + evnt.target.dataset.subject + ' pressed')
      })
   }
</script>
</html>

To run the above program, save the file name anyName.html(index.html). Right click on the file and select the option “Open with live server” in VS Code editor.

Output

This will produce the following output −

I'm generating a list from an array. How can I know what element I'm clicking in JavaScript?

Now press the button, you will get the following output on console −

I'm generating a list from an array. How can I know what element I'm clicking in JavaScript?