似乎是这样的,真正的容器是td,只有td是包含内容的,tr只是表示td的显示方式或者排列方式,其实并不存在。

解决方案 »

  1.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>事件冒泡测试</title>
    </head><body>
      <table id="container" border="1" cellpadding="0" cellspacing="0" width="400" height="41">
        <tr id='tre' onmouseover="tre()">
          <td id='tde' onmouseover="tde()">&nbsp;</td>
          <td onmouseover="tde()">&nbsp;</td>
        </tr>
      </table>
    <script language="javascript">
    //container.onmouseover=MouseOver;
    function MouseOver()
    {
      var overobj=window.event.srcElement;
      var overtag=overobj.tagName;
      if(overtag=="TR")
        alert("tr 触发");  //为什么TR不会被触发???
      if(overtag=="TD")
      {
       // alert("td 触发");
        event.returnValue=false;
        }
    }
    function tre()
    {
    alert('tr')
    }
    function tde()
    {
    alert('td');
    }
    </script>
    </body></html>
    你绑定在TABLE上他怎么冒泡
      

  2.   

    parentElement
    overobj.parentElement.tagName=================================================================
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>事件冒泡测试</title>
    </head><body>
      <table id="container" border="1" cellpadding="0" cellspacing="0" width="400" height="41">
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
      </table>
    <script language="javascript">
    container.onmouseover=MouseOver;
    function MouseOver()
    {
      var overobj=window.event.srcElement;
      var overtag=overobj.tagName;
      if(overobj.parentElement.tagName=="TR")
        alert("tr 触发");  //为什么TR不会被触发???
      if(overtag=="TD")
        alert("td 触发");
    }
    </script>
    </body></html>