如何在捕获阶段触发自定义事件
问题描述:
有没有办法在javascript中触发自定义事件,以便使用capture
模型传播自定义事件?如何在捕获阶段触发自定义事件
我有一个层次结构的元素,我用它作为平均值来在对象之间进行通信。层次结构的每个级别都表示一个对象的子族。理想情况下,我可以使用他们共同的祖先为每个家庭或子家庭的对象引发事件。
如:
animals |_ | mammals | |_cats | |_dogs |_ reptiles |_alligators |_dinosaurs
(请在我的分类不够:)无评论)
我希望能够触发一个事件对所有的动物,所有的哺乳动物或全部猫,或事件到一个单一的猫实例。
但是,我只能找到使用冒泡阶段的自定义事件的例子,所以我想知道它是我错过了什么,或者这真的不可能。
我知道我可以在所有实例的根元素上使用事件委托,但它会非常严重地缩放(该系统需要处理所有类型的数千个事件)。
任何想法?
答
这对于当前的DOM事件规范来说是不可能的,因为它只支持冒泡阶段。
实质上,您正试图为每个组注册一个事件处理程序,而不是附加到每个对象内? – JNF 2014-09-01 08:43:24
作为用例之一 - 是的。我希望能够通过他们的父母为任何一群子女触发一个事件,而不需要遍历每个子女在每个实例上手动触发它 – AriehGlazer 2014-09-01 16:41:19
您是否曾经找到过解决方案? – Michael 2016-05-12 22:18:57