我试图简单地获取单击按钮的 ID 并使用警报来显示它。下面的代码尝试addEventListener
,如果没有回退到attachEvent
。为了获取 ID,我尝试将 this.id
作为参数传递给 myFunction
。但这不起作用。我已经看到很多使用 Jquery 之类的很棒的解决方案,但不幸的是我只能为此使用纯 JS。如何获取点击按钮的 ID 并将其存储在要显示的变量中?
function addEvents()
{
var buttonArray=document.getElementsByClassName('mainButton');
for(i=0; i < buttonArray.length; i++)
{
if (document.addEventListener) {
buttonArray[i].addEventListener("click", myFunction(this.id));
} else if (document.attachEvent) {
buttonArray[i].attachEvent("onclick", myFunction(this.id));
}
function myFunction(clickedId) {
alert("Button" + clickedId + "was clicked.");
}
}
}
最佳答案
实际上,您不需要将参数传递给 myFunction
。这是一个回调函数,您可以使用事件变量。
function addEvents()
{
var buttonArray = document.getElementsByClassName('mainButton');
for(i = 0; i < buttonArray.length; i++)
{
if (document.addEventListener) {
buttonArray[i].addEventListener("click", myFunction);
}
else {
if (document.attachEvent) {
buttonArray[i].attachEvent("onclick", myFunction);
}
}
}
}
function myFunction(e) {
alert("Button " + e.target.id + " was clicked.");
}
这是 jsfiddle .
关于javascript - 获取点击按钮的id javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28290503/