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

时间:2015-02-23 18:31:39

标签: javascript jquery events dom browser

我知道如果我有一个元素触发一个事件,它会传播到根,然后返回到原始元素。基本上,所有的祖先都会收到通知。但我想通知所有后代。我能这样做吗?

谢谢,里克

1 个答案:

答案 0 :(得分:1)

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

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);
}

如果你在downvoting之前等待,我将能够在jsfiddle中进行测试。 的修改 它有效,jsfiddle proof