我想在单击的HTML文档中获取当前元素(无论是哪个元素)。我在用:
$(document).click(function () { alert($(this).text()); });
但是非常奇怪的是,我得到了整个文档的文本,而不是单击的元素。
如何仅获取我单击的元素?
<body> <div class="myclass">test</div> <p>asdfasfasf</p> </body>
如果单击“测试”文本,我希望能够$(this).attr("myclass"在jQuery中使用读取属性。
$(this).attr("myclass"
您需要使用event.targetwhich是最初触发事件的元素。在this您的示例代码指document。
event.target
this
document
在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()。
attachEvent()
addEventListener()