【发布时间】:2014-09-01 08:31:15
【问题描述】:
有没有办法在 javascript 中触发自定义事件,以便使用 capture 模型传播?
我有一个元素层次结构,我用它作为对象之间通信的一种手段。层次结构的每一级代表对象的一个子族。理想情况下,我可以使用它们的共同祖先触发每个家庭或子家庭的对象的事件。
例如:
animals
|_
| mammals
| |_cats
| |_dogs
|_
reptiles
|_alligators
|_dinosaurs
(请不要对我的分类不充分的 cmets :))
我希望能够为所有动物、所有哺乳动物或所有猫触发事件,或为单个猫实例触发事件。
但是,我只能找到使用冒泡阶段的自定义事件示例,所以我想知道是我遗漏了什么还是这真的不可能。
我知道我可以在所有实例的根元素上使用事件委托,但它的扩展性非常差(这个系统需要处理数千个所有类型的事件)。
有什么想法吗?
【问题讨论】:
-
本质上,您是在尝试为每个组注册一个事件处理程序,而不是附加到其中的每个对象?
-
作为用例之一 - 是的。我希望能够通过他们的父母为任何一组后代触发一个事件,而无需遍历每个后代以在每个实例上手动触发它
-
您找到解决方案了吗?
标签: javascript events custom-events