jquery中on方法原理分析
在新版本的jquery中推薦使用on方法來繫結事件,用這個方法繫結的事件會逐個執行不會有後面方法覆蓋前面方法的問題,有的人利用addEventerListener的方法處理一些相容,來繫結事件。這種方式雖說不會有事件覆蓋的問題,但是在ie中繫結事件會倒序執行。一個偶然的機會聽說一個叫做事件佇列的名詞,過了一段時間才想明白是什麼情況。jquery是基於陣列的擴充,事件方面應該也是基於陣列做的,就是在呼叫on的時候將傳遞的函式push在一個陣列裡面,當觸發事件的時候,將陣列裡面的函式按順序call一遍,就會解決繫結的事件覆蓋的問題,而且事件執行順序也會是繫結的順序,在ie下也不會有倒序的問題了。
補充:下方圖片僅僅是一個例子,程式碼還不完善,看看就算了。(經測試IE6、9、chrome都ok)
由炫木之光最後編輯於:5年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- 淺析Ajax跨域原理及JQuery中的實現分析跨域jQuery
- jQuery原始碼剖析(三) - Callbacks 原理分析jQuery原始碼
- jQuery原始碼分析之tokenize()方法jQuery原始碼
- jQuery原始碼分析之Sizzle方法jQuery原始碼
- jQuery原始碼閱讀(十)---jQuery靜態方法分析jQuery原始碼
- jQuery中的load方法jQuery
- jQuery原始碼分析之select()方法jQuery原始碼
- jQuery中過濾方法slice()方法如何使用?jQuery
- jQuery Mobile中jQuery.mobile.changePage方法使用詳解jQuery
- css中:not()選擇器和jQuery中.not()方法CSSjQuery
- Eventbus 使用方法和原理分析
- jquery 中 $.map 的使用方法jQuery
- 淺談jQuery中的工具方法jQuery
- 淺談jQuery中$.proxy()工具方法jQuery
- Java 中 ConcurrentHashMap 原理分析JavaHashMap
- JQuery中$.ajax()方法引數詳解jQuery
- JQuery中操作Css樣式的方法jQueryCSS
- jquery中append()方法與after()方法的區別jQueryAPP
- jQuery實現原理jQuery
- Laravel 中 “記住我” 原理分析Laravel
- Java中的遞迴原理分析Java遞迴
- 深入解析JQuery中的isPlainObject()使用方法jQueryAIObject
- 面試之jquery中的ajax方法引數面試jQuery
- jQuery中css()和attr()方法的區別jQueryCSS
- jquery中each的三種遍歷方法jQuery
- jQuery原始碼分析之tokenize方法的Expr.preFilterjQuery原始碼Filter
- Dubbo 中 Zookeeper 註冊中心原理分析
- Linux 中斷處理原理分析Linux
- 【Java技術專題】「原理專題」深入分析Java中finalize方法的作用和底層原理Java
- jQuery中$.each()常見使用方法有哪些jQuery
- 深入瞭解jquery中的ajax方法引數jQuery
- jQuery Mobile中$.mobile.buttonMarkup方法使用詳解jQuery
- jQuery方法wrapAll()jQuery
- jQuery 事件方法jQuery事件
- jQuery 效果方法jQuery
- jQuery AJAX 方法jQuery
- jQuery Callback 方法jQuery
- jQuery css() 方法jQueryCSS