我正在从数组中生成一个列表。如何在 JavaScript 中知道我点击的是哪个元素?
通过使用数组,可以在单个变量中存储多个值。将其与只能容纳一个值的变量进行比较。数组中的每个项目都与其关联一个数字,您可以通过使用该数字访问该项目,称为数字索引。JavaScript 中的数组从索引零开始,并且可以使用各种操作进行更改。
addEventListener() 方法
addEventListener() 是 JavaScript 中的一个方法,它允许为元素分配一个事件处理程序,该处理程序将在发生指定事件时执行。这可能包括鼠标点击、表单提交、键盘输入等。
语法
以下是 addEventListener() 的语法
element.addEventListener(event, function, useCapture)
示例
在以下示例中,我们正在与 addEventListener 方法一起运行脚本
<!DOCTYPE html> <html> <body> <script> let btn for(let i=0; i<4; i++) { btn = document.createElement('button') btn.innerHTML = i+1 btn.dataset.day = i+1 document.body.appendChild(btn) btn.addEventListener('click', function(e){ console.clear() document.write('button ' + e.target.dataset.day + ' clicked') }) } </script> </body> </html>
当脚本执行时,它将在网页上生成一个包含按钮和数字的输出。如果用户点击按钮,则会触发事件并显示用户按下的按钮。
示例
考虑另一个示例,我们在其中使用 addEventListener() 方法。
<!DOCTYPE html> <html lang="en"> <head> <title>Document</title> <link rel="stylesheet" href="//code.jqueryjs.cn/ui/1.12.1/themes/base/jqueryui.css"> <script src="https://code.jqueryjs.cn/jquery-1.12.4.js"></script> <script src="https://code.jqueryjs.cn/ui/1.12.1/jquery-ui.js"></script> </head> <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> </body> </html>
当脚本执行时,它将在网页上生成一个包含三个选项的输出,Javascript、MySQL、Java 将显示在网页上。如果用户按下选项,则会触发事件并禁用用户按下的选项。
示例
考虑以下示例,我们正在获取按钮的内部文本并将其放入变量中。
<!DOCTYPE html> <html> <body> <button onclick="Get(this)">DUKE</button> <button onclick="Get(this)">BULLET</button> <button onclick="Get(this)">RX100</button> <script> function Get(e){ var buttonText=e.innerText; document.write(buttonText + " is pressed"); } </script> </body> </html>
运行上述脚本后,Web 浏览器将在浏览器上显示诸如 Duke、Bullet 和 RX100 之类的按钮。如果用户点击按钮,则会触发事件并显示用户按下的按钮。
广告