猿问

如何使元素单击(针对整个文档)?

我想在单击的HTML文档中获取当前元素(无论是哪个元素)。我在用:


$(document).click(function () {

    alert($(this).text());

});

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


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


<body>

    <div class="myclass">test</div>

    <p>asdfasfasf</p>

</body>

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


眼眸繁星
浏览 556回答 3
3回答

慕尼黑8549860

您需要使用event.targetwhich是最初触发事件的元素。在this您的示例代码指document。在jQuery中,就是...$(document).click(function(event) {&nbsp; &nbsp; var text = $(event.target).text();});没有jQuery ...document.addEventListener('click', function(e) {&nbsp; &nbsp; e = e || window.event;&nbsp; &nbsp; var target = e.target || e.srcElement,&nbsp; &nbsp; &nbsp; &nbsp; text = target.textContent || target.innerText;&nbsp; &nbsp;}, false);另外,请确保是否需要使用<IE9 attachEvent()代替addEventListener()。

江户川乱折腾

window.onclick = e => {&nbsp; &nbsp; console.log(e.target);&nbsp; &nbsp; console.log(e.target.tagName);}&nbsp;从单击元素获取文本window.onclick = e => {&nbsp; &nbsp; console.log(e.target.innerText);}&nbsp;
随时随地看视频慕课网APP
我要回答