文章詳情頁
javascript - 關于原生js如何實現jquery的on()方法。
瀏覽:114日期:2023-03-05 10:05:08
問題描述
原生js如何實現jquery的on()方法,并且支持給一個元素同時綁定多個事件?
例如:
element.on(’click mouseout’,function(){...});
這樣的話用原生JS怎么實現?
問題解答
回答1:給你一個簡單的示例,如果你想在原生的JS中,使用on方法,可以這樣寫:
HTMLElement.prototype.on = function(events, callback){ let evs = events.split(’ ’); for(let event of evs){this.addEventListener(event, callback); } // 如果你想像JQuery一樣支持鏈式調用,可以在這里返回this // return this;}
這樣的寫法有很多漏洞,因為很多情況都沒有考慮。比如IE的事件綁定沒有考慮。比如多個事件沒有考慮多個回調。
但是。畢竟是要告訴你思想,而不是給你重復造個輪子。
JQuery的實現大概也是這么個邏輯,你可以使用這樣的方法去封裝屬于自己的庫。
回答2:addEventListener
標簽:
JavaScript
相關文章:
1. android - 分享到微信,如何快速轉換成字節數組2. javascript - 能否讓vue-cli的express修改express重啟服務3. node.js - npm一直提示proxy有問題4. 解決Android webview設置cookie和cookie丟失的問題5. angular.js - Beego 與 AngularJS的模板格式沖突,該怎么解決?6. html5 - 有人做過防微信app界面的H5 demo嗎?7. javascript - 有沒有iOS微信中可以在背景播放視頻的方法?8. phpstorm 沒有安裝Emmet怎么還有Emmet的相關功能啊9. 最新版本的微信web開發者工具必須要APPID,會提供測試號,但是像你一樣tabBar配置的話不會顯示首頁與日志,難道我要下載跟你一樣的版本?10. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?
排行榜
