文章詳情頁
javascript - 關(guān)于原生js如何實現(xiàn)jquery的on()方法。
瀏覽:223日期:2023-03-05 10:05:08
問題描述
原生js如何實現(xiàn)jquery的on()方法,并且支持給一個元素同時綁定多個事件?
例如:
element.on(’click mouseout’,function(){...});
這樣的話用原生JS怎么實現(xiàn)?
問題解答
回答1:給你一個簡單的示例,如果你想在原生的JS中,使用on方法,可以這樣寫:
HTMLElement.prototype.on = function(events, callback){ let evs = events.split(’ ’); for(let event of evs){this.addEventListener(event, callback); } // 如果你想像JQuery一樣支持鏈?zhǔn)秸{(diào)用,可以在這里返回this // return this;}
這樣的寫法有很多漏洞,因為很多情況都沒有考慮。比如IE的事件綁定沒有考慮。比如多個事件沒有考慮多個回調(diào)。
但是。畢竟是要告訴你思想,而不是給你重復(fù)造個輪子。
JQuery的實現(xiàn)大概也是這么個邏輯,你可以使用這樣的方法去封裝屬于自己的庫。
回答2:addEventListener
標(biāo)簽:
JavaScript
上一條:javascript - vue的router-link中使用es6字符串模板時為什么還要加雙引號?下一條:javascript - 請問pc上瀏覽器刷新,關(guān)閉,后退的行為是如何監(jiān)聽?
相關(guān)文章:
1. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””2. docker鏡像push報錯3. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題4. javascript - 在 model里定義的 引用表模型時,model為undefined。5. 利用IPMI遠程安裝centos報錯!6. node.js - mongodb查找子對象的名稱為某個值的對象的方法7. 運行python程序時出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯誤?8. html5和Flash對抗是什么情況?9. phpstudy8.1沒集成mysql-front10. 前端 - @media query 使用出現(xiàn)的問題?
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備