找出确切地点击了哪个元素

时间:2013-08-13 04:39:57

标签: javascript jquery html

我正在尝试测试点击页面的哪些部分。是否有一个jQuery函数可以显示被单击的元素的路径?我搜索过谷歌,但没有发现任何对我有用的东西。 event.target.className是否可以正确使用?

代码:

   <script type="text/javascript">
    $(document).ready(function() {
        $("body").click(function(event) {
            window.alert("clicked: " + event.target.nodeName);
        });
    });
    </script>

4 个答案:

答案 0 :(得分:3)

这可能会对您有所帮助:

<script> 
  document.onclick = function(evt) {
    var evt=window.event || evt; // window.event for IE
    if (!evt.target) evt.target=evt.srcElement; // extend target property for IE
    alert(evt.target); // target is clicked
  }
</script>

This link也很有帮助

答案 1 :(得分:2)

点击的DOM元素只是event.target

答案 2 :(得分:0)

如果您正在寻找该元素,它只是event.target,在jQuery中被选为$(event.target)

如果要查找clicked元素的类,

event.target.className有效,

如果你想在jQuery中使用其他函数,

你可以试试,

$(event.target).attr('class');

OR

$(event.target).prop("class");

评论后修改

要列出所有父母,

获取所有父项,并将其节点名称添加到变量

var a = "";
a += event.target.nodeName;
$(event.target).parents().each(function(){
     a += " < "+$(this)[0].nodeName;
});
alert(a);

<强> JSFIDDLE DEMO

答案 3 :(得分:0)

对我来说似乎

$(document).click(function(event){
    console.log($(event.target).attr('class'));
});

会正常工作。尽管使用id可能会更好。在这种情况下,语法更有效率

$(document).click(function(event){
    console.log(event.target.id);
});