移除addeventlistener(80jquery怎样添加和移除事件监听函数)
本文目录
80jquery怎样添加和移除事件监听函数
《!DOCTYPE html》《html》《head lang="en"》 《meta charset="UTF-8"》 《title》《/title》 《style》 .detail_info { position: absolute; display: none; } 《/style》《/head》《body》 《input type ="button" value="测试增加/移除监听" id="btn_bind"/》 《div style="position: relative;" id="box_content"》 《input type="text" class="text" /》 《input type="text" class="text" /》 《!--浮动的详细信息--》 《div class="detail_info" id="box_detail"》 浮动提示信息 《/div》 《/div》 《script type="text/javascript"》 (function () { document.getElementById("btn_bind").addEventListener("click", function () { if(this.bindStatue) { removeEvent(); } else { bindEvent(); } this.bindStatue = !this.bindStatue; }); function removeEvent() { var inputs = document.querySelectorAll(".text"); for(var i = 0, length = inputs.length; i 《 length; i++) { inputs.removeEventListener("mousemove", showDetail); inputs.removeEventListener("mouseout", hideDetail); } } function bindEvent() { var inputs = document.querySelectorAll(".text"); for(var i = 0, length = inputs.length; i 《 length; i++) { inputs.addEventListener("mousemove", showDetail); inputs.addEventListener("mouseout", hideDetail); } } function showDetail(e) { var e = e || window.event, box = document.getElementById("box_detail"), content = document.getElementById("box_content"); box.style.display = "block"; box.style.top = e.clientY - content.offsetTop + "px"; box.style.left = e.clientX - content.offsetLeft + "px"; } function hideDetail() { document.getElementById("box_detail").style.display = "none"; } })(); 《/script》《/body》《/html》
js/jquery 如何移除自定义函数
移除一个函数 直接给他重命名即可//例如你有一个函数叫做SayHellofunctionSayHello(){alert(’helloworld’);}console.log(SayHello);//输出函数对象//删除函数varSayHello=null;console.log(SayHello);//输出null;SayHjQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“writeLess,DoMore”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。jQuery的模块可以分为:入口模块、底层支持模块和功能模块。其核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE6.0+、FF1.5+、Safari2.0+、Opera9.0+等。第一个例子是为元素注册一个事件:Behaviour.register({’#exampleli’:function(e){e.onclick=function(){this.parentNode.removeChild(this);}}});他认为应该改写为:$(’#exampleli’).bind(’click’,function(){this.parentNode.removeChild(this);});第二个例子是为不同的元素注册不同的事件:Behaviour.register({’b.someclass’:function(e){e.onclick=function(){alert(this.innerHTML);}},’#someidu’:function(e){e.onmouseover=function(){this.innerHTML="BLAH!";}}});他认为应该改写为:$(’b.someclass’).bind(’click’,function(){alert(this.innerHTML);});$(’#someidu’).bind(’mouseover’,function(){this.innerHTML=’BLAH!’;});第三个例子是为不断变化的元素注册不同的事件:Behaviour.register({’#fooolli’:function(a){a.title="ListItems!";a.onclick=function(){alert(’Hello!’);};},’#fooolli.tmp’:function(a){a.style.color=’white’;},’#fooolli.tmp.foo’:function(a){a.style.background=’red’;}});他认为应该改写为:$(’#fooolli’).set(’title’,’ListItems!’).bind(’click’,function(){alert(’Hello!’);}).select(’.tmp’).style(’color’,’white’).select(’.foo’).style(’background’,’red’);
使用removerEventListener没有正确删除事件绑定
定义和用法removeEventListener() 方法用于移除由 addEventListener() 方法添加的事件句柄。注意: 如果要移除事件句柄,addEventListener() 的执行函数必须使用外部函数,如上实例所示 (myFunction)。匿名函数,类似 "document.removeEventListener("event", function(){ myScript });" 该事件是无法移除的。这里bind方法返回的新函数显然是个匿名函数,正确的写法是这样:section.addEventListener("animationend", down, false);section.removeEventListener("animationend", down, false);
本文相关文章:
cesium的datasource(Cesium快速上手9-Camera和Scene中的其他函数使用)
2024年9月9日 18:01
day函数是什么意思(函数DAY($A$3)*4-4 代表什么意思)
2024年9月8日 10:45
递归算法解决八皇后问题(用递归函数设计八皇后问题的回溯算法C++代码)
2024年9月8日 09:01
c语言lseek函数的用法(问一个关于lseek函数的效率问题)
2024年9月7日 14:45
python递归函数考试题(python题目:要求用递归、递推和Lambda三种方式编写power(n,x)函数)
2024年9月6日 03:40
c语言中函数abs 和 fabs有什么区别?C语言中fabs表示什么意思
2024年9月4日 08:10
matlablength函数用法(如何使用MATLAB作出如下函数ns关于x变化的函数,x的取值范围为0到10)
2024年9月1日 04:40
php截取字符串以特定的字符分割(PHP怎么用substr函数截取字符串中的某部分)
2024年9月1日 03:45
small函数相反的函数(excel中small函数有什么作用)
2024年9月1日 01:40
easyx安装教程(【C语言】如何在VC++6.0中使用TC2.0特有的函数呢)
2024年8月31日 06:40
更多文章:
coconut milk(do you need some还是any coconut milk)
2024年5月7日 18:31
哥伦比亚球员(铁血球员科尔多巴,在混乱的哥伦比亚足坛他是如何崛起的)
2024年7月18日 01:20
杀人诛心的意思是什么?杀人诛心什么意思 最好举个例子 通俗易懂的,,,
2024年8月25日 19:40
在home目录下创建文件(怎么在虚拟机Linux系统home目录下增加目录)
2024年8月20日 14:35
exercise的ing形式(exercise现在进行时怎么写)
2024年2月15日 20:20
spring boot api接口开发(springboot聚合项目如何对外暴露api)
2024年7月20日 20:25
PHP添加注释问题?怎么注释掉PHP段落代码 下面的这一段落都要注释掉,不要了,怎么弄
2024年7月10日 22:43
perl数组复杂操作(如何用Perl对字符串或者数字数组进行排序)
2024年7月3日 12:01