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

作者: red0whale (red whale)   2017-08-19 00:20:40
※ 引述《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。
作者: davidsky (Alive)   2017-08-19 02:27:00
1. event bubbling/capturing 2. mutationObservor
作者: tyf99 (呵呵)   2017-08-19 01:54:00
我是要 browser extension 注入 js 用的,只能綁一次按鈕增加那部分不是我能控制的
作者: pk9058 (WhenSunTea)   2017-08-19 01:21:00
對新增的button加上onclick的function即可https://codepen.io/pk9058/pen/dzdJgz
作者: tyf99 (呵呵)   2017-08-19 00:44:00
這無法套用到未來才出生的元素啊https://jsfiddle.net/nzxwpaup/1 jQuery是能綁未來元素的

Links booklink

Contact Us: admin [ a t ] ucptt.com