1.在当前页面打开的页面中为当前页面一表格(<table id=goodlist> )添加一行。
<tr onDblClick="javascript:
var newTr=window.opener.document.getElementById('goodlist').insertRow()
newTr.ondblclick=function(){
     getGood();//我想在添加的一行双击相应getGood(),但是没反映??
}
var newTd0=newTr.insertCell();
 …………
> 请问要怎样才能将这个函数绑定到newTr的ondblclick事件上??

解决方案 »

  1.   

    将相关操作函数写在父页面,然后
    newTr.ondblclick = 定义在父页面中函数;
    试试看
      

  2.   

    谢谢hookee!!
    还是不行。
    1.newTr.ondblclick=getGood 双击没得反应?
    2.newTr.ondblclick=getGood()出现运行时间错误--尚未实现。我把getGood()函数添加到子页面中也是出现相同的错误?
    getGood()函数应该是没得问题,我在父页面绑定没得问题。
      

  3.   

    按你所写的代码来看,getGood() 必须在 window.opener 页面中实现,也就是与那个表格 goodlist 在同一个页面中加载
      

  4.   

    你自己的写法也没问题
    但是把里面的getGood()改成alert(getGood)再试试就知道有没有问题了.
      

  5.   

    newTr.ondblclick=function(){
        alert(&quot;here!&quot;);
       // getgood();          
    };   
    这样添加行后,没有错误,但是双击添加的行完全没得反应!确实不知道怎么办了?希望能够找到解决的办法。
      

  6.   

    1. 父页面的button
    <input type="button" name="good_add" value="参考订货单" onClick="window.open('purorderview.asp?action=pio','','directorys=no,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=853,height=470,top=176,left=161')">
    <table id="goodlist" width="778" border="1" cellpadding="0" cellspacing="0" style="table-layout:fixed">
    ……
    2.
    页面purorderview.asp页面的
    <table name="purorder">
        <tr onDblClick="javascript: 
          var newTr=window.opener.document.getElementById('goodlist').insertRow();
          newTr.ondblclick=function(){
       alert(&quot;getgood);
       getgood();      //添加后的行双击响应?getgood在父页面已实现    
    };
            var newTd0=newTr.insertCell();
         ……
         window.close();"
       >   

    >
      

  7.   

    alert(&quot;getgood); 
    这里应该直接
    alert(getgood);
    吧...
    这样才能看到能不能拿到这函数呢. 
      

  8.   

    楼主 那动态生成的表格,再给表格赋事件, 会产生 '循环闭包问题';for(var i=0;i<data.length;i++)
    {
    var item = data[i];
    var _tr = _t1.insertRow(_t1.rows.length); //_t1 为'table', _tr为 'tr',_td为 'td' 
    _tr.id = "_tr"+i;
    _tr.style.display = "none";  //行不可见
    _tr.name = "data_tr";
    _tr.style.borderColor = "#DCDCDC";
    var over = new mouseoverChangePack(_tr.id); //改变行色
    _tr.onmouseover = over.click;
    var out = new mouseoutChangePack(_tr.id);
    _tr.onmouseout = out.click;


    var _td1 = _tr.insertCell();
    _td1.innerHTML = item[0]+"\t\t\t"+item[1]+"<br/>"+item[2];
    }
    /***  改变行色 ***/
    function mouseoverChangePack(id)
    {
    this.click = function ()  //Javascript闭包循环 问题
    {
    var _tr = window.parent.frames['blank'].document.getElementById(id);
    _tr.style.backgroundColor = "lightblue";
    }

    }楼主可以的话,就给我分呀!!