Javascript 如何在单击时获取任何元素的id
当点击页面上的任何元素时,是否可能弹出一个警报,告诉您该元素的标记名(或id或任何其他信息)? 我基本上希望为每个元素设置以下内容:Javascript 如何在单击时获取任何元素的id,javascript,jquery,Javascript,Jquery,当点击页面上的任何元素时,是否可能弹出一个警报,告诉您该元素的标记名(或id或任何其他信息)? 我基本上希望为每个元素设置以下内容: $('#wrapper').click(function() { alert($(this).prop('tagName')); }) 除了我不想为页面上的每个元素编写代码,因为这将花费很长时间,而且在各个方面都非常不切实际。使用选择器将侦听器绑定到全局对象上 $(document).on('click', '*', fu
$('#wrapper').click(function() {
alert($(this).prop('tagName'));
})
除了我不想为页面上的每个元素编写代码,因为这将花费很长时间,而且在各个方面都非常不切实际。使用选择器将侦听器绑定到全局对象上
$(document).on('click', '*', function() {
alert($(this).prop('tagName'));
});
应该行。这个怎么样
document.body.addEventListener("click", function (e) {
e = e || window.event;
alert(e.toElement.getAttribute("id"));
});
$(document).on('click', '*', function() {
// Set clicked element's id to variable
var elementName = $(this).attr('id');
// Alert displaying id of clicked element
alert(elementName);
})
下面是一个纯javascript方法:
document.onclick = function(e) {
e = e || window.event;
var o = e.srcElement||e.target;
alert(o.id);
}
当我投反对票时,你的答案是:<代码>$('*')。点击(…)代码>。现在我将删除它,因为它更理智:)事实上,出于某种原因,它不会让我删除它。说它被“锁定”,抱歉。当时它的措辞是作为一个完整的答案(我真的不明白
$('*'))。单击(…);
是$(文档)的部分键入版本。在('click','*',…);
)上,但这不是我想的重点…看起来如果你再做一次编辑,我就可以删除我的投票了。为什么你要包括第二个参数?应该没有理由指定“*”
。任何单击都会跳转到文档
@lan如果您没有指定它,您只会听到对元素本身的单击(然后您可以使用事件变量访问标记名)。在这里,我直接听到所有后代的点击声。这根本不是真的。任何发生在它内部的点击都会冒出气泡。您使用document
这一事实意味着它正在处理父most元素,因此也就是页面上的每个元素。例如,当您单击一个
时,它会弹出气泡,每个祖先都会捕捉到该事件。您只是在为jQuery添加额外的工作