[发明专利]一种Javascript事件监听的管理方法在审
申请号: | 201210556711.8 | 申请日: | 2012-12-20 |
公开(公告)号: | CN103885757A | 公开(公告)日: | 2014-06-25 |
发明(设计)人: | 杨飞;陈寄文 | 申请(专利权)人: | 上海明想电子科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201616 上海市嘉定区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 javascript 事件 监听 管理 方法 | ||
技术领域
本发明涉及一种事件监听管理方法,尤其是一种Javascript事件监听的管理方法。
背景技术
不同的浏览器提供了响应的api来绑定事件,addEventListener以及attachEvent来添加事件,removeEventListener以及detachEvent来删除事件。attachEvent以及detachEvent是IE系列浏览器提供的方法(如IE6,7,8,9,遨游,世界之窗等),firefox、chrome等gecko以及webkit内核的浏览器提供的就是addEventListener和removeEventListener。
事件绑定是支持多个函数绑定到相同的页面DOM元素,并且是可以重复绑定的,也就是相同的函数可以重复绑定,没有一个纠错方式。
<input type=button id=a value=click/>
<script>
function func1(){
alert(1);
}
window.onload = function(){
var obj = document.getElementById(a);
obj.attachEvent(onclick,func1);
obj.attachEvent(onclick,func1);
}
</script>
如上述代码所示,对同一个按钮绑定了2次相同的事件,那么最后操作的时候,就发现弹出了2次提示框。同样上述代码只可以在ie内核的浏览器中执行。
总结一下,原始的Javascript的事件监听操作有以下缺点:
(1) 重复监听无法清除;
(2) 绑定事件很容易,去除绑定容易失败;
(3) 绑定的函数无法带参数执行;
(4) 事件绑定多个函数,执行顺序无法保证,不同浏览器的处理不一致。
发明内容
本发明的目的就是解决以上几个缺点,提供一个通用解决方案,可以轻松的对事件监听做管理,保证执行顺序,不受浏览器的影响。
本发明为实现上述目的,所采用的技术方案是提供一种Javascript事件监听的管理方法,包括:
步骤一:定义一个事件缓存,用以存放文档对象模型(DOM)事件监听内容,对应每一文档对象模型(DOM)在所述事件缓存中存放其对应的事件,各事件对应的代理函数,各代理函数需执行的实际函数;
步骤二:将文档对象模型(DOM)事件监听对应的实际函数都放入所述事件缓存中去;
步骤三:依据浏览器支持的Javascript API将一个事件对应的各个所属实际函数封装成一个统一的事件操控函数作为代理函数;
步骤四:利用代理模式,当事件触发时,直接触发所述事件操控函数,由该函数再去执行存放在所述事件缓存中的所述实际函数。
进一步的,所述步骤四中所述实际函数可以为一个以上, 所述事件操控函数在执行多个所述实际函数时,根据进入所述事件缓存的顺序,按先进先出的原则依次执行。
进一步的,在为所述文档对象模型(DOM)添加事件时,先将事件对应的实际函数经过代理包装后存放在所述事件缓存中,更新作为代理函数的所述事件操控函数,然后将包装后的所述事件操控函数和文档对象模型做关联。
进一步的,在将所述实际函数存放到所述事件缓存之前,先判断是否已经存在该函数,不存在则进行存入动作,不存在则不进行存入动作。
进一步的,在取消事件绑定时,先从所述事件缓存中拿到之前存放进去的所述实际函数,然后将所述实际函数跟文档对象模型(DOM)解除绑定,最后将所述实际函数从所述事件缓存中清理出去。
进一步的,所述Javascript事件监听的管理方法还包括事件监听管理步骤,通过分析所述事件缓存中的内容,列出文档对象模型(DOM)已经绑定的事件函数、事件名称信息列表,提供用户查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海明想电子科技有限公司,未经上海明想电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210556711.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电梯曳引机的安装结构
- 下一篇:用于配电系统中分布式波形记录的方法