javascript - 获取点击按钮的id javascript

标签 javascript cross-browser addeventlistener

我试图简单地获取单击按钮的 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/

相关文章:

javascript - 如何通过按类名遍历元素来引用元素的 id

javascript - 带有缩略图的 WordPress 扩展网格

javascript - $(window).height() 在 IE9 上失败

css - youtube 视频后面的下拉菜单,为什么?

javascript - 在 Ajax 调用中防止 JavaScript 中的默认行为或标记单击事件

javascript - 用户单击时更改输入的背景颜色

javascript - JS 相当于 C++ .at()

javascript - 响应 native 增量状态 onPress

javascript - 如何为 droppable td 编写接受条件,以便它只接受表中的邻居 td

JavaScript 问题和 IE(style.display 属性)