jQuery.on() for children 没有特定的选择器

jQuery.on() for children with no particular selector

我有这样的 HTML 结构:

<div class="parent">

    <div class="child">
        <div class="something">...</div>
    </div>

    <div class="child">
        <div class="something-else">...</div>
    </div>

    <div class="child">
        ...
    </div>
    ...
</div>

我在 .child 元素上捕获事件(如 click),如下所示:

$('.parent').on('click', '.child', function() { ... });

但是,我想摆脱明确的 class 规范,并基于直系血统本身这一事实。 我想编写的代码不需要 children 元素的任何特定 classes。最接近的是:

$('.parent').on('click', '*', function() { ... });

但显然这样的处理程序会传播到更深的后代(.something.something-else 等),而不仅仅是在第一层。

有没有办法实现我想要的东西,是使用某种东西而不是 * 或其他方式?

P.S。我不想使用直接绑定 - $('.parent').children().click(function() {...}); - 因为它速度较慢并且在动态添加 children 的情况下不起作用。

寻找的选择器是> *:

$('.parent').on('click', '> *', function() { ... });

(Josh Crozier 在评论中提出了实际解决方案,我只是将其作为答案转贴。)