-1

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

代码:

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

4 回答 4

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>

这个链接也很有帮助

于 2013-08-13T04:42:24.133 回答
2

被点击的 DOM 元素就是event.target

于 2013-08-13T04:42:11.280 回答
0

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

如果寻找点击元素的类,

event.target.className的有效,

如果你想要 jQuery 中的其他函数,

你可以试试,

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

或者

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

评论后编辑

要列出所有父母,

获取所有父母,并将他们的节点名称添加到变量中,

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

JSFIDDLE 演示

于 2013-08-13T04:43:52.190 回答
0

在我看来

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

可以正常工作。不过,使用 id 可能会更好。在这种情况下,语法会更有效一些

$(document).click(function(event){
    console.log(event.target.id);
});
于 2013-08-13T04:47:49.620 回答