作者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://webptt.com/cn.aspx?n=bbs/Web_Design/M.1503073243.A.D03.html
1F:→ tyf99: 这无法套用到未来才出生的元素啊08/19 00:44
3F:推 pk9058: 对新增的button加上onclick的function即可08/19 01:21
5F:→ tyf99: 我是要 browser extension 注入 js 用的,只能绑一次08/19 01:54
6F:→ tyf99: 按钮增加那部分不是我能控制的08/19 01:55
7F:推 davidsky: 1. event bubbling/capturing 2. mutationObservor08/19 02:27
把上述原始码包成一个函数
在新增按钮的同时呼叫该函数即可
※ 编辑: red0whale (114.44.5.226), 08/19/2017 03:41:04