我可以让事件在发起者和后代之间传播吗?

Can I make events propagate between originator and descendants?

我知道如果我有一个元素触发一个事件,它会传播到根,然后向下传播到原始元素。基本上,所有的祖先都会得到通知。却要通知所有的子孙。我可以这样做吗?

谢谢,瑞克

这是可能的,我的代码可能有一些错误,但这里是:

elem = document.querySelectorAll('#my-element')[0];

function callClickOnDescendants(element, event){
  for (var i = 0, len = element.children.length; i < len; i++){
    element.children[i].onclick.call(element.children[i], event);
    callClickOnDescendants(element.children[i], event);
  }
}

elem.onclick = function(event){
  callClickOnDescendants(elem, event);
}

如果您在投反对票之前稍等,我将能够在 jsfiddle 中进行测试。 编辑 有效,jsfiddle proof