页面:
<table width="100%" id="tbBaseAuthorUsed" border="0">
<tr></tr> </table>
<INPUT title="点击添加列" onclick="addAuthorcell();return false;" type="image" src="images/lus.gif">function addAuthorcell()
{
var table=document.getElementById("tbBaseAuthorUsed");var newCell=table.rows[table.rows.length-1].insertCell();
newCell.innerText="中国"
newCell.className="color05";

var e = document.getElementById("tbBaseAuthorUsed");
for(var j=0; e.rows && j<e.rows.length; j++)
{
for(var k=0; e.rows(j).cells && k<e.rows(j).cells.length-1; k++)
{
e.rows(j).cells(k).className="color03";
         }
}}

解决方案 »

  1.   

    newCell.attachEvent("ondblclick",aa)function aa()
    {
    alert()
    }
      

  2.   

    <table width="100%" id="tbBaseAuthorUsed" border="0">
    <tr></tr> </table>以下代码是我自动生成列的代码:
    <script>
    var table=document.getElementById("tbBaseAuthorUsed");var newCell=table.rows[table.rows.length-1].insertCell();
    newCell.innerText="中国"
    newCell.className="color05";
    newCell.attachEvent("ondblclick",aa)
    newCell=table.rows[table.rows.length-1].insertCell();
    newCell.innerText="中国"
    newCell.className="color05";
    newCell.attachEvent("ondblclick",aa)
    function aa()
    {
    alert()
    }
    </script>
      

  3.   

    感谢 net_lover(孟子E章) e.rows(j).cells(k).attachEvent("onclick",aa);  
    e.rows(j).cells(k).attachEvent("ondblclick",bb);但是我需要同时添加这两个事件。出现的问题是:只响应单击事件,请问如何处理?谢谢
      

  4.   

    只响应单击事件,请问如何处理?谢谢
    是不是aa函数里面有alert()?怎么读取单击列的内容?
    event.srcElement
      

  5.   

    不用这么麻烦的
    newCell.innerText="中国"
    newCell.className="color05";
    newCell.onclick=function abc(){
    alert(this.innerText)
    }
      

  6.   

    不用这么麻烦的
    newCell.innerText="中国"
    newCell.className="color05";
    newCell.onclick=function abc(){
    alert(this.innerText)
    }
    这样就可以阿还有,table的td没有双击事件哦,所以不会触发
      

  7.   

    attachEvent还是好用些
    便于修改
      

  8.   

    //step 1,----------------------------添加列
    var newCell=table.rows[table.rows.length-1].insertCell();//newCell.innerText="</td>"+document.all("txtBaseAuthorName").value;
    //newCell.className="bg01 color05 table05 B"; var e = document.getElementById("tbBaseAuthorUsed");
    var j=0;//只有一行
    var i=e.rows(j).cells.length-1;
    var temp=EncodeString(document.all("txtBaseAuthorName").value);
    document.all("txtBaseAuthorName").value=temp;
    newCell.innerHTML="<a href='#//"+i+"/"+temp+"'>"+temp+"</a>";// onclick='BaseAuthorClick(event.srcElement);return false;' ondblclick='BaseAuthorDbClick(event.srcElement);return false;'
    e.rows(0).cells(e.rows(j).cells.length-1).attachEvent("onclick",BaseAuthorClick);//e.rows(j).cells(e.rows(j).cells.length-1).attachEvent("ondblclick",BaseAuthorDbClick);  
    for(j=0; e.rows && j<e.rows.length; j++)
    {
    for(var k=0; e.rows(j).cells && k<e.rows(j).cells.length; k++)//e.rows(j).cells.length-1
    {
    e.rows(j).cells(k).className="bg01 color03";
     }
    }
    //-----------------------------end for 添加列
      

  9.   

    function BaseAuthorClick()
    {
    if(event.srcElement=="[object]")
    return false;
    else
    {
    var e = document.getElementById("tbBaseAuthorUsed");

    //step 1,计算出原来的列号
    for(j=0; e.rows && j<e.rows.length; j++)
    {
    for(k=0; e.rows(j).cells && k<e.rows(j).cells.length; k++)
    {
    if(e.rows(j).cells(k).className=="bg01 color05 table05 B")
    {
    //保存当前修改的数据--------------------------------------------中间用|隔开 
    arr=saveBaseAuthor();
    if(arr==false)
    return false;
    BaseAuthor[k]=arr.split("$")[0]; //
    sqlBaseAuthor[k]=arr.split("$")[1]; //
    e.rows(j).cells(k).innerHTML="<a href='#//"+k+"/"+document.all("txtBaseAuthorName").value+"'>"+document.all("txtBaseAuthorName").value+"</a>";//修改
    //-------------------------------------------------------------end for save
    break;
    }
    }
    }

            //step 2,-------------------------------------------------------------------------------------------
    //取得当前参数
    var temp=event.srcElement;
    document.all("txtBaseAuthorName").value=temp;
    var arr=new Array();
    temp=document.all("txtBaseAuthorName").value;
    arr=temp.split("/");
    var i=arr.length-1;//alert("id:"+arr[i-1]+"内容:"+arr[i]);

    //step 3,从数组中取得此列数据----------------------------------------------------数组中保存的格式:中间用|隔开
    getBaseAuthor(BaseAuthor[arr[i-1]]);
    //step 4,颜色切换-----------------------------------------------------------------切换
    var m=arr[i-1];//id,即列号
    for(j=0; e.rows && j<e.rows.length; j++)
    {
    for(k=0; e.rows(j).cells && k<e.rows(j).cells.length; k++)
    {
    if(k==m)
    e.rows(j).cells(k).className="bg01 color05 table05 B";
    else
    e.rows(j).cells(k).className="bg01 color03";
    }
    }
    //-------------------------------------------------------------------end for 颜色切换,切换

    }
    document.all("txtBaseAuthorName").focus();

    return false;
    }