文章詳情頁
javascript - 關于原生js如何實現jquery的on()方法。
瀏覽:184日期: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. 運行python程序時出現“應用程序發生異常”的內存錯誤?2. 我在導入模板資源時遇到無法顯示的問題,請老師解答下3. macos - 無法source activate python274. java - butterknife怎么綁定多個view5. html5 - 前端面試碰到了一個緩存數據的問題,來論壇上請教一下6. css - 移動端 盒子內加overflow-y:scroll后 字體會變大7. PHPExcel表格導入數據庫怎么導入8. javascript - react如何獲取offsetX?9. html - 網頁的a標簽到底要不要寫上域名?10. css3 讓圖片變成灰色(filter),但針對IE11瀏覽器無效
排行榜

網公網安備