没有特定选择器的儿童的jQuery.on

问题描述

我有这样的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>

我在click元素上捕获了事件(例如.child):

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

但是,我想摆脱显式的类规范,而要基于直接祖先本身的事实。 我想编写不需要为子元素添加任何特定类的代码。与此最接近的是:

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

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

是否有某种方法可以实现我的期望,而不是使用*或其他方法?

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

解决方法

寻找的选择器是> *

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

(实际的解决方案由Josh Crozier在评论中提出,我只是将其重新发布为答案。)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...