如何点击元素(对于整个文档)?

2022-08-30 01:20:44

我想在我单击的HTML文档中获取当前元素(无论该元素是什么)。我正在使用:

$(document).click(function () {
    alert($(this).text());
});

但非常奇怪的是,我得到的是整个(!)文档的文本,而不是单击的元素。

如何仅获取我点击的元素?

<body>
    <div class="myclass">test</div>
    <p>asdfasfasf</p>
</body>

如果我单击“测试”文本,我希望能够在jQuery中读取带有)的属性。$(this).attr("myclass"


答案 1

您需要使用 event.target,它是最初触发事件的元素。示例代码中的 引用 。thisdocument

在jQuery中,这是...

$(document).click(function(event) {
    var text = $(event.target).text();
});

没有jQuery...

document.addEventListener('click', function(e) {
    e = e || window.event;
    var target = e.target || e.srcElement,
        text = target.textContent || target.innerText;   
}, false);

此外,如果需要支持< IE9 而不是 .,请确保。attachEvent()addEventListener()


答案 2

event.target以获取element

window.onclick = e => {
    console.log(e.target);  // to get the element
    console.log(e.target.tagName);  // to get the element tag name alone
} 

从单击的元素中获取文本

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