我读了一篇关于路由事件的this好文章,我理解了为什么我们有时需要冒泡事件,有时需要隧道事件。
我不明白的是,当我们使用隧道事件时,为什么在它被处理或到达源元素之后,仍然会启动冒泡事件?
提前感谢!
发布于 2010-08-10 23:50:01
这篇文章说,如果你把一个图片放在一个按钮上,然后点击该图片,那么该图片的隧道事件就会被触发。但是,您很可能还希望处理该单击,就好像按钮本身被单击一样,因此还会激发一个气泡事件,该事件向上冒泡到按钮本身上的click事件(因为该按钮拥有图像),以便您可以使用按钮的常用事件处理程序将图像单击视为按钮单击。
发布于 2011-02-14 22:48:19
我还想补充说,这两个事件(隧道和气泡)是不同的。对于隧道,我们使用PreviewXXX (例如: PreviewMouseDown),对于气泡事件,我们使用XXX (例如: MouseDown)事件。
按照顺序,隧道事件首先从应用程序的根开始激发,并在源处结束。并且触发气泡事件。
同时拥有这两个事件是非常有意义的。
https://stackoverflow.com/questions/3450765
复制相似问题