日期:2014-05-16 浏览次数:20489 次
  var fnClick = function() {
  alert(“Clicked!”);
  }
  var oDiv = document.getElementById(“div1”);
  oDiv.attachEvent(“onclick”, fnClick);
  oDiv.detachEvent(“onclick”, fnClick);
function getEventTarget(e) {
  e
 = e || window.event;
  return e.target || e.srcElement;
}
function editCell(e) {
  var 
target = getEventTarget(e);
  if(target.tagName.toLowerCase() === 
'td') {
    // DO SOMETHING WITH THE CELL
  }
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
<html xmlns="http://www.w3.org/1999/xhtml" >   
<head>   
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>JS中的事件冒泡</title>   
    <script type="text/javascript"><!--   
    function ClickTr()   
    {
        alert(typeof  window.event);
        e = event||window.event;
      alert("TR");   
      alert(typeof e.srcElement);
    }   
    function ClickTd()   
    {   
      alert("TD");   
      //如果不加下面的代码点击先会弹出TD然后弹出TR,原因是HTML是对象结构当点击AAA的时候(执行),会冒泡到 TR-->table-->body->document->window,当用 event.cancelBubble=true的时候就说明阻止该冒泡行为    
      event.cancelBubble=true;   
    }   
       
// --></script>   
</head>   
<body>   
<div style="background-color:Azure;" mce_style="background-color:Azure;">目的当点击BBB的时候弹出TR,当点击AAA的时候弹出TD</div>   
<table>   
<tr onclick="ClickTr();">   
<td onclick="ClickTd();">AAA</td>   
<td>BBB</td>   
</tr>   
</table>   
</body>