在click事件中检索没有父项的div

Alv*_*das 1 jquery

我正在编写一个应用程序,我需要返回一个我点击的元素类.

问题是,一旦我点击一个元素,我也会得到它的所有父类.

我用来检索类名的代码:

$('div').click(function () {
    console.log($(this).attr("class"));
});
Run Code Online (Sandbox Code Playgroud)

这是一个元素的样本:

<div class="parent">
    <div class="child">
        Bla bla bla
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

一旦我点击a .child div,它就会返回我.child.parent类名.

我想应该有一个简单的方法来解决这个问题,但经过几个小时的研究后我找不到任何东西.

gdo*_*ica 5

您需要阻止事件冒泡到父元素,使用 return false;

$('div').click(function (e) {
    console.log($(this).attr("class"));
    return false; // or e.stopPropagation();

});    
Run Code Online (Sandbox Code Playgroud)

return falsejQuery事件处理程序中实际上与调用它们 e.preventDefaulte.stopPropagation传递的jQuery.Event对象相同.........

阅读这个优秀的答案获取更多信息.

现在<div>有区别e.stopPropagation()return false因为<div>没有默认点击事件<a>或者< button>do.