要達到 unobtrusive JavaScript (最新譯名: 不亂入JavaScript) 的境界,就必須對 Event-Driven 有深入的認識,這章對 Events 議題做了很詳盡的解說,前一陣子看YUI Event的時候,裡面提到的兩個IE fix都不太了解緣由,看過這章之後就恍然大悟啦。
相對於 W3C DOM 跟 XMLHttpRequest,Events有更多的 Browser Wars 留下來的問題,有著 Microsoft 蓄意的不相容問題,你必須注意這些實做差異,有些解法甚至有些 tricky,而且必須 case by case,沒有泛用型的偵測法則,例如沒有簡單的 if (W3C model) {.. } else if ( Microsoft model ) { … } 可以用。
Events 可分成三種類型 1. 滑鼠事件 mouse 2. 鍵盤事件 keyboard 3. 界面事件 interface events (例如 form submit,readystatechange等) 閱讀全文〈ppk on JavaScript (2) Events〉