您的位置:首页 > 教程笔记 > 前端笔记

javascript什么是事件委托简单介绍

2023-12-04 13:32:47 前端笔记 179

本章节简单介绍一下javascript中事件委托是什么。

其实从名字就能看出它的大体意思来,所谓委托就是自己的事情交给其他人去干。

事件委托利用事件冒泡来实现的,在子元素上发生的事件交由父元素来处理。

比如我们要获取一个表格当前td单元格的id属性值,如果在每一个td上都注册click事件处理函数岂不是很累,尤其是td量很大的时候,如果利用委托方式,将事件处理函数注册父元素上就轻松很多。

代码实例:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="/" />
<title>table细线表格-</title>
<style type="text/css"> 
#thetable{
  background-color:green;
  font-size:12px;
}
#thetable th{
  text-align:center;
  background-color:#CCF;
  height:30px;
  line-height:30px;
}
#thetable td{
  width:150px;
  height:30px;
  line-height:30px;
  text-align:center;
  background-color:#FFF;
}
</style> 
<script type="text/javascript">
window.onload=function(){
  var otable=document.getElementById("thetable");
  var odiv=document.getElementById("show");
  otable.onclick=function(ev){
    var oEvent=ev||event; 
        var target=oEvent.target||oEvent.srcElement;
        odiv.innerHTML=target.innerHTML;
  }
}
</script>
</head> 
<body> 
<table cellpadding="0" cellspacing="1" id="thetable">
  <tr>
    <th>标题一</th>
    <th>标题二</th>
    <th>标题三</th>
    <th>标题四</th>
  </tr>
  <tr>
    <td>一</td>
    <td>二</td>
    <td>三</td>
    <td>四</td>
  </tr>
  <tr>
    <td>一</td>
    <td>二</td>
    <td>三</td>
    <td>四</td>
  </tr>
  <tr>
    <td>一</td>
    <td>二</td>
    <td>三</td>
    <td>四</td>
  </tr>
</table>
<div id="show"></div>
</body> 
</html>

上面的代码就是一个委托的典型应用,只将事件处理函数注册在table上,利用事件冒泡效果实现委托。

1.var oEvent=ev||event可以参阅var ev=window.event||ev的作用是什么一章节。

2.target属性可以参阅javascript event.target一章节。

3.srcElement属性可以参阅javascript event.srcElement一章节。

相关推荐