作者red0whale (red whale)
看板Web_Design
標題Re: [問題] jquery 的 .on() 要如何用純 js 實現?
時間Sat Aug 19 00:20:40 2017
※ 引述《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
推 pk9058: 對新增的button加上onclick的function即可08/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