outer, once & none-once
middle, capture & none-capture inner1, passive & preventDefault(which is not allowed) inner2, none-passive & preventDefault(not open new page)