js addEventListener如何给触发,事件动态传参与添加/删除

addEventListener有三个参数,(event,fn,bubble),今天主要谈的就是对fn的运用。
一般使用addEventListener时,都是以这种形式
obj.addEventListener(event,function(e,args...){...},false),其中触发事件的参数是固定的,但是程序员并没有什么是不能改变的,我们以这种形式来写
var dynamic_fn; //定义一个与obj对象作用域级别相等甚至更高的变量作为动态函数的名称,当然这只是一种简易的写法,实际怎么写就见仁见智了。
obj.addEventListener(event,dynamic_fn = function(e,args...){...},false),这样就添加了对dynamic_fn指向的函数的绑定,使得绑定删除也变得灵活起来: obj.addEventListener(event,dynamic_fn,false); obj.removeEventListener(event,dynamic_fn); 当然 ,函数里面的内容也可以修改,这主要是为了达到使用同一个函数时传入不同参数

obj.addEventListener(event,dynamic_fn = function(){

fn(args) //参数可根据情况传入 },false); 例如: var sample = function(arg0,arg1){

console.log('第一个参数:',arg0,' 第二个参数:',arg1); }, dynamic_fn; document.body.addEventListener('click',dynamic_fn = function(){

sample('这是第一个参数','这是第二个参数');

}); 那么运行后点击网页,控制台输出 第一个参数:这是第一个参数 第二个参数:这是第二个参数

你可能感兴趣的:(js addEventListener如何给触发,事件动态传参与添加/删除)