借《你不知道的JavaScript》書的名氣,顧取《你不知道的addEventListener》標題
先監聽幾個事件
image.png
然后點擊下,
image.png
結果很明顯,多次觸發。
image.png
那么,要實現同一個函數代碼如何只添加一次監聽。
用一代事件“onlcik”,但是這樣又會破壞之前的監聽,多人協作寫不得啊。 那么代碼執行單例? 太麻煩了。
二代事件不會這么low吧,mdn是這么說的:
同一個 EventTarget 注冊了多個相同的 EventListener
,那么重復的實例會被拋棄。所以這么做不會使得 EventListener
被調用兩次,也不需要用 [removeEventListener]手動清除多余的EventListener
,因為重復的都被自動拋棄了。
感覺很牛逼,但是上面并沒有體現。
肯定不是這個寫法,換下寫法。
image.png
嗯。可以了。