用这个
a.contains ? a != b && a.contains(b) : !!(a.compareDocumentPosition(b) & 16);

解决方案 »

  1.   

    来个土办法<script type="text/javascript">
    var flag=-1;
    </script>
    <table width="300px" height="300px" border="3"> 
          <tr onmouseover="if(flag<0){alert('ok');};flag++;"> 
                <td> </td> 
                <td> </td> 
                <td> </td> 
                <td> </td> 
        </tr> 
    </table> 
      

  2.   

    <script type="text/javascript">
    var oTrigerTr=null;function handleMouseOver(e){
        var evt=e||window.event;
        var srcEl=(function(){                  
                      var oNode=evt.target||evt.srcElement;
                      while(oNode.tagName!="TR"){
                          oNode=oNode.parentNode;
                      }
                      return oNode;
                  })();
        if(srcEl==oTrigerTr){
            return;
        }else{
            oTrigerTr=srcEl;
        }
        
        //add you code here
        alert(srcEl.innerHTML);
    }
    </script><table border="1" width="200">
        <tr onMouseOver="handleMouseOver(event)">
            <td>11</td>
            <td>12</td>
            <td>13</td>
            <td>14</td>
        </tr>
        <tr onMouseOver="handleMouseOver(event)">
            <td>21</td>
            <td>22</td>
            <td>23</td>
            <td>24</td>
        </tr>    
    </table> 
      

  3.   

    呵呵,多谢大伙的帮忙。但是我的问题依然没有解决。
    以下是我的HTML代码:
    <script>
    function handOver(oEvent,trObj){
    trObj.cells[1].style.display = "";
    }
    function handOut(oEvent,trObj){
    trObj.cells[1].style.display = "";
    }
    </script>
    <table>
        <tr onMouseMove="handOver(event,this);" onMouseOut="handOut(event,this);">
             <td>这里是标题</td>
             <td style="display:none">
                 <table>
      <tr>
     <td><img src="这里是几个工具图标"></td>
     <td width="1"></td>
     <td><img src="这里是几个工具图标"></td>
     <td width="1"></td>
     <td><img src="这里是几个工具图标"></td>
     <td width="1"></td>
     <td><img src="这里是几个工具图标"></td>
       <tr>
             </td>
        </tr>
    </table>
    现在的问题就是当我的鼠标在那几个工具图标间移动时,我测试了一下,是因为鼠标从一个图标移动到另一个图标时会触发MouseOut事件,导致图标有闪动,现在要求不允许图标有任何的闪动,大伙有好的思想没?谢了先。
      

  4.   

    执行onmouseover事件时
        1。删除onmouseover事件。
        2。添加onmouseout 事件,
    执行onmouseout时,添加onmouseover事件
      

  5.   


          <tr onMouseOver=""> 
                <td>
             <table> 
              <tr>
                <td> </td> 
                <td> </td> 
                <td> </td> 
               </tr> 
             </table> 
            </td>
         </tr> 
    这样 
      

  6.   

    将table的cellspacing设置为0就看不出来闪烁滴效果了<table cellspacing="0">
      

  7.   

    不过有个解决办法,如果必须有cellspacing滴话
    see:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
     <SCRIPT LANGUAGE="JavaScript">
     <!--
    var timer = null;
    function handOver(oEvent,trObj){
    if(timer)clearTimeout(timer);
    trObj.cells[1].style.display = "";
    }
    function handOut(oEvent,trObj){
    timer = setTimeout(function(){
    trObj.cells[1].style.display = "none";
    }, 100
    );
    }
     //-->
     </SCRIPT>
    <table cellspacing="10" border="1">
        <tr onMouseover="handOver(event,this);" onMouseOut="handOut(event,this);" style="background:#ccc;">
            <td>这里是标题 </td>
            <td style="display:none">
                <table>
    <tr>
    <td> <img src="a.gif"> </td>
    <td width="1"> </td>
    <td> <img src="b.gif"> </td>
    <td width="1"> </td>
    <td> <img src="a.gif"> </td>
    <td width="1"> </td>
    <td> <img src="b.gif"> </td>
      <tr>
    </table>
    </td>
        </tr>
    </table> 
     </BODY>
    </HTML>补充一下你的onmousemove应该是onmouseover吧
      

  8.   

    再补充:
    如果你硬要把鼠标放在那个单元格空隙(cellspacing)上面超过setTimeout中给出滴时间的话
    那也没有办法哦
      

  9.   

    试试这个<html><script> 
    var rct = null;function handOver(oEvent,trObj){  if( trObj.cells[1].style.display == "" )
    return; trObj.cells[1].style.display = ""; 
    rct =  table1.getBoundingClientRect(); rct.left += idBody.scrollLeft;
    rct.right  +=  idBody.scrollLeft;
    rct.top   +=  idBody.scrollTop;
    rct.bottom +=  idBody.scrollTop;
    }function handOut(oEvent,trObj){ 
    var oNode=oEvent.target||oEvent.srcElement;
    var x = window.event.x;
    var y = window.event.y; if( x < rct.left 
    || y < rct.top 
    || x > rct.right -1
    || y > rct.bottom -1 
    ){ 
    trObj.cells[1].style.display = "none"; 
    rct = null; }
    } </script> 
    <body ID="idBody"><table id="table1" border="1" onMouseOver="handOver(event,this);" onMouseOut="handOut(event,this);"> 
        <tr"> 
            <td>Title</td> 
            <td style="display:none"> 
                <table> 
    <tr> 
    <td > <img src="0001.jpg"> </td> 
    <td width="1"></td> 
    <td > <img src="0001.jpg"> </td> 
    <td width="1"></td> 
    <td > <img src="0001.jpg"> </td> 
    <td  width="1"></td> 
    <td > <img  src="0001.jpg"> </td> 
    </tr> 
    </table>
            </td> 
        </tr> 
    </table></body>
    <html>