在JS中事件是JS與瀏覽器互動的主要途徑。事件是一種叫做觀察者的設計模式,這是一種創建鬆散耦合程式碼的技術。物件可以發布事件,用來表示在該物件生命週期中某個有趣的時刻到了。然後其他對象可以觀察該對象,等待這些有趣的時刻到來並透過運行程式碼來回應。
觀察者模式有兩類物件組成:主題和觀察者。主體負責發布事件,同時觀察者透過訂閱這些事件來觀察該主體。這個模式的一個關鍵概念是主體並不知道觀察者的任何事情,也就是說它可以獨自存在並正常運作即使觀察者不存在。從另一方面來說,觀察者知道主體並能註冊事件的回呼函數(事件處理程序)。涉及DOM上時,DOM元素就是主體,你的事件處理程式碼就是觀察者。
事件是與DOM互動的最常見的方式,但它們也可以用於非DOM程式碼中----透過實作自訂事件。自訂事件背後的概念是創建一個管理事件的對象,讓其他對象監聽那些事件。說簡單點就是我們希望在程式運行的時候,路線可能會有很多,如果程式運行到了一個特殊的地方,我們希望立刻運行用戶註冊的方法裡面的程式碼,運行完畢後再繼續運行,這個過程叫做監聽。
例如,建立一個檔案MyEvent.js文件,裡面建立一個類別: