<script>
tablewidth=0;
function titlewidth()
{
alert("start");
for(i=1;i<5;i++)
{
document.all["title"+i].width=document.all["td"+i].clientWidth;
tablewidth=document.all.mytable.clientWidth;
}
}
function addrow(obj)
{
obj.disabled=true;
str=document.all.mytable.outerHTML;
str=str.substring(0,str.length-16);
str+='<tr><td>metzelder</td><td>1981</td><td>dortmund</td><td>21</td></tr></tbody></table>';
document.all.mytable.outerHTML=str;
if(document.all.mytable.clientWidth>tablewidth)
titlewidth();
}
</script>
<body onload=titlewidth()>
<table border=0><tr><td id=title1>name</td><td id=title2>birth</td><td id=title3>addr</td><td id=title4>no</td></tr></table>
<table border=0 id=mytable><tr><td id=td1>ballack<d><td id=td2>1976.9.26</td><td id=td3>bayern</td><td id=td4>13</td></tr>
<tr><td>kahn</td><td>1969.6.15</td><td>bayern</td><td>1</td></tr>
<tr><td>ziege</td><td>1972</td><td>liverpool</td><td>6</td></tr>
<tr><td>klose</td><td>1978</td><td>fck</td><td>11</td></tr>
</table>
<input type=button value="addrow" onclick=addrow(this)>

解决方案 »

  1.   

    谢谢白合兄,你的方法非常好,不过我是想通过一个宽度变化的事件直接调用函数。我尝试了oncellchange,onafterupdate等等几个消息,好像都没有效果。
    function fit()
    {
        //调整宽度
    }
    ...
      <... 事件触发="fit()">
    ...
    不知道有没有这样的事件?
      

  2.   

    谢谢白合兄,你的方法非常好,不过我是想通过一个宽度变化的事件直接调用函数。我尝试了oncellchange,onafterupdate等等几个消息,好像都没有效果。
    function fit()
    {
        //调整宽度
    }
    ...
      <... 事件触发="fit()">
    ...
    不知道有没有这样的事件?
      

  3.   

    你可以用 onresize 事件来触发,例:
    <table><tr><td id=ttt onresize="alert('onresize')">asd</td></tr></table>
    <input type=button value=ok onclick="document.all.ttt.innerText='sdgskdlkflas'">