Re: [問題] jquery 的 .on() 要如何用純 js 實現?

看板Web_Design作者 (function(){})()時間7年前 (2017/08/19 03:16), 編輯推噓3(302)
留言5則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《tyf99 (呵呵)》之銘言: : 如果想把某類元素(包含未來可能出現的同類元素)都加上 event handler : 用純 js 要如何實現? : 例如放在購物車裡面的商品,可以用按鈕來修改數量. : 現在是把 <button class="plus"> 綁上 goodsIncrease() : 以後加入的新商品,也都會自動綁上 goodsIncrease() : jquery 的寫法是 $(document).on("click", "button.plus", goodsIncrease) : 這要如何改寫成不用 jquery 的版本? 這叫 event delegation, 也就是把 callback 綁定到 document 上, 再透過 event object 確定觸發的element document.addEventListener("click", function(event){ var target = event.target if ( target.matches("button.plus") ){ goodsIncrease.call(target, event) //假裝是某個 button.plus 發出來的 } }) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.8.48.101 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1503083814.A.47E.html

08/19 16:28, , 1F
感謝,這個就是我要的
08/19 16:28, 1F

08/19 18:37, , 2F
08/19 18:37, 2F

08/20 11:42, , 3F
08/20 11:42, 3F

08/20 13:33, , 4F
一直以為這樣target會回傳document,原來可以回傳各個ele
08/20 13:33, 4F

08/20 13:33, , 5F
ment,受教了,推推
08/20 13:33, 5F
文章代碼(AID): #1PbpqcH- (Web_Design)
文章代碼(AID): #1PbpqcH- (Web_Design)