获取clicked元素的id而不在html中放入任何js代码

时间:2012-04-22 18:29:22

标签: javascript html javascript-events

我需要获取被点击的元素的ID,但我需要将所有js和html分开。通常id只是在html中使用'this.id'。还有其他方法吗?

3 个答案:

答案 0 :(得分:12)

这是e.target的用途。您可以在任何地方添加事件侦听器,只要允许click事件冒泡到它(默认情况下会发生),您就可以捕获它。一个基本的例子:

document.addEventListener('click', function(e) {
    alert(e.target.id);
});

点击每个将提醒其ID。希望这会有所帮助:)

<button id="foo">foo</button>
<button id="bar">bar</button>
<button id="baz">baz</button>

修改

http://jsfiddle.net/95NZ8/

答案 1 :(得分:0)

尝试这样的事情:

$(document).ready(function () {
    $("#someWrapper").each(function () {
        $(this).on('click', function () {
            alert(this.id);
        });
    });
});

答案 2 :(得分:0)

window.onclick = e => {
    console.log(e.target.id);
}

获取元素,标记名,类名,other attributes

window.onclick = e => {
    console.log(e.target);
    console.log(e.target.tagName);
    console.log(e.target.className);
    console.log(e.target.id);
}