javascrpt绑定事件之匿名函数

简介: 经常听到有人说,匿名函数绑定事件不好控制啊,无法解除绑定啊等等等等,一直很奇怪谁说的不能解除绑定。 下面来实现click事件2次后,自动解除绑定。 看代码: var dom=document.getElementById("test"),clickt=0; dom.addEventListener("click",function(e){ clickt++; alert('你摸了我'+clickt+'下了。

经常听到有人说,匿名函数绑定事件不好控制啊,无法解除绑定啊等等等等,一直很奇怪谁说的不能解除绑定。

下面来实现click事件2次后,自动解除绑定。

看代码:

var dom=document.getElementById("test"),clickt=0;
dom.addEventListener("click",function(e){
    clickt++;
    alert('你摸了我'+clickt+'下了。最多摸2下哦');
    if(clickt>=2){
         this.removeEventListener(e.type,arguments.callee,false);
    }
},false);

很多扩展库,比如jquery都可以如此来实现自定义解除绑定:

var t=0;
$(".a").bind("click",function(e){
    t++;
    alert('你摸了我'+t+'下了。最多摸2下哦');
    if(t>=2){
         $(this).unbind(e.type,arguments.callee);
    }
}); 

其他的自己去测吧。

目录
相关文章
|
27天前
|
存储 JavaScript 前端开发
JS函数提升 变量提升
【10月更文挑战第6天】函数提升和变量提升是 JavaScript 语言的重要特性,但它们也可能带来一些困惑和潜在的问题。通过深入理解和掌握它们的原理和表现,开发者可以更好地编写和维护 JavaScript 代码,避免因不了解这些机制而导致的错误和不一致。同时,不断提高对执行上下文等相关概念的认识,将有助于提升对 JavaScript 语言的整体理解和运用能力。
|
3月前
|
JavaScript 前端开发
绑定事件的方法有几种?
绑定事件的方法有几种?
function () {}()匿名函数
function () {}()匿名函数
38 0
|
JavaScript 前端开发
认识JavaScript中的闭包和匿名函数
认识JavaScript中的闭包和匿名函数
78 0
|
JavaScript 前端开发 Go
立即执行函数
立即执行函数
58 0
|
JavaScript 前端开发
JavaScript函数篇之ES6箭头函数与匿名函数
对于箭头函数,this 关键字始终表示定义箭头函数的对象。
138 0
|
自然语言处理 JavaScript 前端开发
深入理解立即执行函数
深入理解立即执行函数
|
JavaScript 前端开发
【JavaScript】39_高阶函数(回调函数)
目前我们的函数只能过滤出数组中age属性小于18的对象, 我们希望过滤更加灵活: 比如:过滤数组中age大于18的对象 age大于60的对象 age大于n的对象 过滤数组中name为xxx的对象 过滤数组中的偶数 ... **一个函数的参数也可以是函数,** 如果将函数作为参数传递,那么我们就称这个函数为**回调函数**(callback) ```html <script> class Person { constructor(name,age){ this.name = name;
89 0
|
C#
C#匿名函数
C#匿名函数
90 0