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