jquery中on方法原理分析

炫木之光發表於2019-05-11

在新版本的jquery中推薦使用on方法來繫結事件,用這個方法繫結的事件會逐個執行不會有後面方法覆蓋前面方法的問題,有的人利用addEventerListener的方法處理一些相容,來繫結事件。這種方式雖說不會有事件覆蓋的問題,但是在ie中繫結事件會倒序執行。一個偶然的機會聽說一個叫做事件佇列的名詞,過了一段時間才想明白是什麼情況。jquery是基於陣列的擴充,事件方面應該也是基於陣列做的,就是在呼叫on的時候將傳遞的函式push在一個陣列裡面,當觸發事件的時候,將陣列裡面的函式按順序call一遍,就會解決繫結的事件覆蓋的問題,而且事件執行順序也會是繫結的順序,在ie下也不會有倒序的問題了。

補充:下方圖片僅僅是一個例子,程式碼還不完善,看看就算了。(經測試IE6、9、chrome都ok)

炫木之光最後編輯於:5年前

內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。

相關文章