原生js为DOM添加方法
2017-08-08 16:42
507 查看
原生js为所有dom元素添加一个名为addEvent的方法,类似于jQ的$.fn.extend(addEvent:function(){......});
if (window.HTMLElement) { // 使用原型扩展DOM自定义事件 HTMLElement.prototype.addEvent = function(type, fn, capture) { var el = this; if (window.addEventListener) { el.addEventListener(type, function(e) { fn.call(el, e); }, capture); } else if (window.attachEvent) { el.attachEvent("on" + type, function(e) { fn.call(el, e); }); } }; } else { // 如果是不支持HTMLElement扩展的浏览器 // 通过遍历所有元素扩展DOM事件 var elAll = document.all, lenAll = elAll.length; for (var iAll=0; iAll<lenAll; iAll+=1) { elAll[iAll].addEvent = function(type, fn) { var el = this; el.attachEvent("on" + type, function(e) { fn.call(el, e); }); }; } }
//--------- 以下是测试代码 ------------- document.getElementById("image").addEvent("click", function() { alert("这是:" + this.alt); });
相关文章推荐
- 用原生js在DOM元素上面添加方法
- 原生js给DOM元素添加一个或者多个类的方法总结
- 原生JS操作DOM的一些常用方法集合【转】
- 原生JS添加节点方法与jQuery添加节点方法的比较及总结
- DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
- 原生JS和JQuery动态添加、删除表格行的方法
- 原生JS实现AJAX、JSONP及DOM加载完成事件,并提供对应方法
- DOM3_table相关属性以及Js方法动态添加
- 原生JS和JQuery动态添加、删除表格行的方法
- javascript 原生方法对dom节点的操作,创建、添加、删除、替换、插入、复制、移动等操作
- js原生dom方法总结
- 原生JS实现AJAX、JSONP及DOM加载完成事件,并提供对应方法
- 原生的js获取DOM元素方法总结
- 原生js在IE7下 向dom添加节点的一个bug, (本例为添加hidden input)
- 给easyui-input元素添加js原生方法
- js--dom--添加事件的时候传递参数的方法
- JS实现动态添加DOM节点和事件的方法示例
- 认识JQuery,JQuery的优势、语法、多库冲突、JS原生对象和JQuery对象之间相互转换和DOM操作,常用的方法
- 通过原生JS实现为元素添加事件的方法
- 【笔记】js原生方法 在元素外部或内部实现添加元素功能(类似jq 的 insert 和 append)