UI Event Order

O3noBLOG at 
我一直以來都對於 DOM 事件的順序抱有一種不確定的感覺,舉例來說,當使用者點滑鼠時,你可以預期到會有 mousedown、mouseup、click 事件,但是它們的順序是什麼呢?可以確定的是 down 一定是第一個,up 一定在 down 之後,那 click 是在中間還是最後呢?更進一步,點在可以有 focus 的元件上,那 focus 事件的順序呢?如果已經有其他元件有 focus,那它的 blur 事件又是在 focus 的前面還後面呢?除了滑鼠事件外,鍵盤事件又更複雜,除了 keydown、keyup 之外還有 input、change 和 IME 的 composition 事件……