通用的事件侦听器函数实现(JS)
2015-07-30 15:14
746 查看
// event(事件)工具集,来源:https://github.com/markyun markyun.Event = { // 页面加载完成后 readyEvent : function(fn) { if (fn==null) { fn=document; } var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = fn; } else { window.onload = function() { oldonload(); fn(); }; } }, // 视能力分别使用dom0||dom2||IE方式 来绑定事件 // 参数: 操作的元素,事件名称 ,事件处理程序 addEvent : function(element, type, handler) { if (element.addEventListener) { //事件类型、需要执行的函数、是否捕捉 element.addEventListener(type, handler, false); } else if (element.attachEvent) { element.attachEvent('on' + type, function() { handler.call(element); }); } else { element['on' + type] = handler; } }, // 移除事件 removeEvent : function(element, type, handler) { if (element.removeEnentListener) { element.removeEnentListener(type, handler, false); } else if (element.datachEvent) { element.detachEvent('on' + type, handler); } else { element['on' + type] = null; } }, // 阻止事件 (主要是事件冒泡,因为IE不支持事件捕获) stopPropagation : function(ev) { if (ev.stopPropagation) { ev.stopPropagation(); } else { ev.cancelBubble = true; } }, // 取消事件的默认行为 preventDefault : function(event) { if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } }, // 获取事件目标 getTarget : function(event) { return event.target || event.srcElement; }, // 获取event对象的引用,取到事件的所有信息,确保随时能使用event; getEvent : function(e) { var ev = e || window.event; if (!ev) { var c = this.getEvent.caller; while (c) { ev = c.arguments[0]; if (ev && Event == ev.constructor) { break; } c = c.caller; } } return ev; } };
相关文章推荐
- 在iframe里调用parent.func()引出的js函数运行在它们被定义的作用域里,而不是它们被执行的作用域里
- Json对象与Json字符串互转(4种转换方式)
- 使用js复制链接中的部分文字的方法
- 在线extjs帮助文档
- action的变量在jsp中的取值问题
- AugularJS基础概念
- js将人民币金额转换为大写
- c#操作带属性的列表形式json
- c#操作简单列表形式的json
- 常用正则表达式
- Linq to js使用
- 【读书笔记】 通过原生javascript获取margin
- c#获取简单json的值
- js实现身份证号有效性验证
- particles.js 一个非常酷炫的粒子动画库
- javascript深入理解js闭包
- js鼠标滚动监听
- 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
- JS如何实现文本框随文本的长度而增长
- javascript 解析json的代码