文章詳情頁
javascript - 關于原生js如何實現jquery的on()方法。
瀏覽:117日期: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. mysql - 如何在有自增id的情況下,讓其他某些字段能不重復插入2. Python2中code.co_kwonlyargcount的等效寫法3. mysql - 請問數據庫字段為年月日,傳進的參數為月,怎么查詢那個月所對應的數據4. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?5. javascript - vue+iview upload傳參失敗 跨域問題后臺已經解決 仍然報403,這是怎么回事啊?6. html - 移動端radio無法選中7. javascript - 我的站點貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?8. [python2]local variable referenced before assignment問題9. php - 微信開發驗證服務器有效性10. node.js - win 下 npm install 遇到了如下錯誤 會導致 無法 run dev么?
排行榜
