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

JavascriptWeb DevelopmentFront End TechnologyObject Oriented Programming

For this, you can use addEventListener().


Following is the code −

<!DOCTYPE html>
<html lang="en">
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
<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>
   var addButton;
   for (let i = 0; i < 3; i++) {
      addButton = document.createElement('button')
      if (i == 0) {
         addButton.innerHTML = "Javascript"
         addButton.dataset.subject = "Javascript"
      if (i == 1) {
         addButton.innerHTML = "MySQL"
         addButton.dataset.subject = "MySQL"
      if (i == 2) {
         addButton.innerHTML = "Java"
         addButton.dataset.subject = "Java"
      addButton.addEventListener('click', function (evnt) {
         console.log('Subject ' + evnt.target.dataset.subject + ' pressed')

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.


This will produce the following output −

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

Updated on 27-Oct-2020 10:07:02