看板 Web_Design 關於我們 聯絡資訊
※ 引述《tyf99 (呵呵)》之銘言: : 如果想把某類元素(包含未來可能出現的同類元素)都加上 event handler : 用純 js 要如何實現? : 例如放在購物車裡面的商品,可以用按鈕來修改數量. : 現在是把 <button class="plus"> 綁上 goodsIncrease() : 以後加入的新商品,也都會自動綁上 goodsIncrease() : jquery 的寫法是 $(document).on("click", "button.plus", goodsIncrease) : 這要如何改寫成不用 jquery 的版本? var elm=document.querySelectorAll("button.plus"); for(var i=0;i<elm.length;i++){ elm[i].onclick=function(event){ goodsIncrease.call(elm[i],event); }; } 如果瀏覽器不支援querySelectorAll,請找querySelectorAll的polyfill。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.5.226 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1503073243.A.D03.html
tyf99: 這無法套用到未來才出生的元素啊08/19 00:44
tyf99: https://jsfiddle.net/nzxwpaup/1 jQuery是能綁未來元素的08/19 00:57
pk9058: 對新增的button加上onclick的function即可08/19 01:21
pk9058: https://codepen.io/pk9058/pen/dzdJgz08/19 01:21
tyf99: 我是要 browser extension 注入 js 用的,只能綁一次08/19 01:54
tyf99: 按鈕增加那部分不是我能控制的08/19 01:55
davidsky: 1. event bubbling/capturing 2. mutationObservor08/19 02:27
把上述原始碼包成一個函數 在新增按鈕的同時呼叫該函數即可 ※ 編輯: red0whale (114.44.5.226), 08/19/2017 03:41:04