jQuery delegate() / on() - 强制事件顺序

jQuery delegate() / on() - force order of events

也许是个愚蠢的问题,但是...

在这个简单的代码中:

 $(".Q").on("click", ".container", containerClick);
 $(".Q").on("click", ".container .oneElement", oneElementInContainerClicked);

如果点击 .container 中的 .oneElement,首先调用 oneElementInContainerClicked。

是否可以强制事件顺序,先调用 containerClick,然后调用 oneElementInContainerClicked

尝试在 containerClick 中包含对 e.target 的检查;在 oneElementInContainerClicked

内的 $(this).parents(".container") 上调用 .trigger("click")

function containerClick(e) {
  if (e.target.className !== "oneElement")
    console.log("container")
} 

function oneElementInContainerClicked() {
  console.log("oneElement");
  $(this).parents(".container").trigger("click")
} 


$(".Q").on("click", ".container", containerClick);
 $(".Q").on("click", ".container .oneElement", oneElementInContainerClicked);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div class="Q">
  <div class="container">container
    <div class="oneElement">oneElement</div>
  </div>
  </div>