博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个通用的事件监听函数全集
阅读量:5266 次
发布时间:2019-06-14

本文共 2428 字,大约阅读时间需要 8 分钟。

// event(事件)工具集    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;        }    };

 

转载于:https://www.cnblogs.com/gr07/p/7880303.html

你可能感兴趣的文章
内存分为的5大区
查看>>
5. Docker - 仓库管理
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
CS61A Efficiency 笔记
查看>>
197. 上升的温度
查看>>
ArcGIS Server Javascript 多图对比功能
查看>>
中缀表达式转后缀表达式
查看>>
第六次实训作业异常处理
查看>>
c#实现把异常写入日志示例(异常日志)
查看>>
函数的进阶
查看>>
一个简单的网页服务器
查看>>
对百度杀毒软件的评价
查看>>
高级程序设计第六章(2)--创建对象
查看>>
微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
查看>>
2017年11月Dyn365/CRM用户社区活动报名
查看>>
mysql 数据库磁盘占用量统计
查看>>
七七四十九劫,九九八十一难
查看>>
C++中的链接错误
查看>>
linux 安装 ArcSDE10.1
查看>>
SQL Server比较2table字段的差异
查看>>