封装Js事件代理方法
2016-03-15 22:23
375 查看
// 封装事件代理
function delegateEvent(element, tag, event, listener) { // 判断是否支持addEventlistener if(element.addEventListener){ // 给父元素添加事件 element.addEventListener(event,function(e){ // 获取当前触发的元素 var target = e.target; // 判断当前元素是否是我需要的 if(target.nodeName.toLowerCase()===tag){ listener(target); } }) }else{ // 兼容IE element.attachEvent("on"+event,function(){ var target = window.event.srcElement; if(target.nodeName.toLowerCase()===tag){ listener(target); } }) } } var ul = document.getElementById("ul"); delegateEvent(ul,"li","mouseover",function(target){ target.style.backgroundColor = "red"; })
相关文章推荐
- JSON & XML 简析
- JSON和XML、区别以及优缺点
- extjs data
- JS定时器_setInterval
- JS定时器_setTimeout
- 通过YAJL获取json中的值
- 使用Javascript中的alert()函数显示中文乱码
- jsp9-27
- jsp9-27.2 设置下载按钮
- jsp10.8 10.12 10.15
- html(JS)学习笔记2
- jsp页面的数据获取方法
- [RxJS] Toggle A Stream On And Off With RxJS
- JS BOM
- js判断浏览器是否有滚动条
- extjs 组件与布局
- jsp登录界面(一)
- JavaScript 简介
- js中的toString
- JSTL 核心标签库