javascrpt绑定事件之匿名函数无法解除绑定问题_基础知识

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

下面来实现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);
}
});

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

复制代码 代码如下:

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

其他的自己去测吧。

时间: 2024-09-24 00:20:09

javascrpt绑定事件之匿名函数无法解除绑定问题_基础知识的相关文章

冒泡,setinterval,背景图的div绑定事件,匿名函数问题--工作中的思考

<1>会冒泡到兄弟元素么? $(function(){ $("#a").click(function(){alert("a")}) $("#b").click(function(){alert("b")}) $("#c1").click(function(){alert("c1")}) $("#c2").click(function(){alert(&qu

JavaScript高级程序设计(第3版)学习笔记9 js函数(下)_基础知识

再接着看函数--具有魔幻色彩的对象. 9.作为值的函数 在一般的编程语言中,如果要将函数作为值来使用,需要使用类似函数指针或者代理的方式来实现,但是在ECMAScript中,函数是一种对象,拥有一般对象具有的所有特征,除了函数可以有自己的属性和方法外,还可以做为一个引用类型的值去使用,实际上我们前面的例子中已经有过将函数作为一个对象属性的值,又比如函数也可以作为另一个函数的参数或者返回值,异步处理中的回调函数就是一个典型的用法. 复制代码 代码如下: var name = 'linjisong'

JavaScript函数模式详解_基础知识

在javascript中,函数是一类对象,这表示他可以作为参数传递给其他函数:此外,函数还可以提供作用域. js函数基础部分:javascript学习笔记(四)function函数部分 创建函数的语法 命名函数表达式 复制代码 代码如下: //命名函数表达式 var add = function add(a,b){     return a+b; }; 函数表达式 复制代码 代码如下: //又名匿名函数 var add = function(a,b){     return a+b; }; 函数

javaScript事件机制兼容【详细整理】_基础知识

[添加事件机制]  addEventListener  和  attachEvent [W3C] addEventListener('click' , function(){alert('Hello World')} ,false )  //W3C规范添加事件(IE8及以上不兼容):  第一个参数为事件类型 ,第二个为事件程序 ,第三个 false为事件冒泡,true为事件捕获 [IE] attachEvent('onclick',function(){alert('Hello World')}

JavaScript 高级篇之函数 (四)_基础知识

1.函数的创建 由于前面已经用了很多的函数,我就不在这里多分享了. 2.嵌套函数 复制代码 代码如下: function china() { function people()//嵌套函数,只有china用它 { document.write("我的心愿是当杜甫,最近网上他的漫画,他活的好潇洒"); } people(); } 3.函数的直接量 Javascript允许函数用直接量来定义,说白了就是一个表达式,(匿名函数).细节:匿名函数以后会用,要明白! 复制代码 代码如下: fun

JavaScript中Function()函数的使用教程_基础知识

 function语句不是定义一个新的函数,并且可以定义你的函数动态使用Function()构造使用操作符的唯一途径. 注:这是面向对象编程的术语.第一次可能会感觉不太习惯,这里是没有问题的.语法 下面是使用new运算符创建一个使用功能Function()构造的语法. <script type="text/javascript"> <!-- var variablename = new Function(Arg1, Arg2..., "Function Bo

javascript之函数直接量(function(){})()_基础知识

种语法是什么意思(function(){})() 如下例: <script language="JavaScript"> (function(){ document.write("some script code"); })() </script> <script language="JScript" type="Text/JScript"> <!-- var a=(function(

细说javascript函数从函数的构成开始_基础知识

javascript函数是一个比较奇怪的东西,接触一段时间你就会犯迷糊,弄不明白它到底是什么了.你是否会因为有的javascript函数没有名字而莫名其妙,是否会因为javascript函数的参数没有类型而抓狂,是否为javascript函数以表达式的形态存在而彻底崩溃.正是因为有了这些烦恼才让javascript函数值得我们寻味,我想从函数的构成来细说函数,这听起来像是一句废话,讲任何东西当然是从构成去谈,但是由于javascript函数你确实捉摸不了它的形态,因此这里我是从一个标准函数的构成

Javascript this 函数深入详解_基础知识

 js this 函数详解          本文对Javascript this函数进行详细介绍,及知识的总结整理,彻底明白js this 函数该如何使用. this 代码函数调用时, .1直接调用函数则为this则指向window对象 .2类调用时候指向这个类 .3 方法.apply(obg) :此时这个方法内部的this指向  obj 不传参数 则指向window .4 function 作为构造函数时, 内部this 指向这个新创建出来的对象 总结为 a类直构 this是JavaScri