求助--动态添加的表格行绑定函数的问题? 谢谢!!

yhl05050118 2009-05-01 12:00:56
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事件上??
...全文
98 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
上山浦鱼 2009-05-06
  • 打赏
  • 举报
回复
楼主 那动态生成的表格,再给表格赋事件, 会产生 '循环闭包问题';

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";
}

}



楼主可以的话,就给我分呀!!
yhl05050118 2009-05-02
  • 打赏
  • 举报
回复
newTr.ondblclick=function(){
alert("here!");
// getgood();
};
这样添加行后,没有错误,但是双击添加的行完全没得反应!

确实不知道怎么办了?希望能够找到解决的办法。
natineprince 2009-05-02
  • 打赏
  • 举报
回复
把完整点的代码拉上来吧.
natineprince 2009-05-02
  • 打赏
  • 举报
回复
alert("getgood);
这里应该直接
alert(getgood);
吧...
这样才能看到能不能拿到这函数呢.
yhl05050118 2009-05-02
  • 打赏
  • 举报
回复
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("getgood);
getgood(); //添加后的行双击响应?getgood在父页面已实现
};
var newTd0=newTr.insertCell();
……
window.close();"
>



>
hookee 2009-05-01
  • 打赏
  • 举报
回复
将相关操作函数写在父页面,然后
newTr.ondblclick = 定义在父页面中函数;
试试看
natineprince 2009-05-01
  • 打赏
  • 举报
回复
你自己的写法也没问题
但是把里面的getGood()改成alert(getGood)再试试就知道有没有问题了.
gengzhw 2009-05-01
  • 打赏
  • 举报
回复
按你所写的代码来看,getGood() 必须在 window.opener 页面中实现,也就是与那个表格 goodlist 在同一个页面中加载
yhl05050118 2009-05-01
  • 打赏
  • 举报
回复
谢谢hookee!!
还是不行。
1.newTr.ondblclick=getGood 双击没得反应?
2.newTr.ondblclick=getGood()出现运行时间错误--尚未实现。我把getGood()函数添加到子页面中也是出现相同的错误?
getGood()函数应该是没得问题,我在父页面绑定没得问题。
课程目标:多面学习Vue.js技术栈,包括:1. 数据绑定、模板、指令、过滤器、vue生命周期及实例的属性和方法2. 组件及组件间的通信、发送HTTP请求3. vue-router及vue-cli和单文件组件4. Element UI及Vuex的使用5. 项目结构的搭建与开发课程简介: 基于Vue.js 2.3版本, 目前最全的Vue.js教学视频,让你少走弯路,直达技术前沿!多面讲解Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 课程内容包含:1. 数据绑定、模板、指令、过滤器、vue生命周期及实例的属性和方法2. 组件及组件间的通信、发送HTTP请求3. vue-router及vue-cli和单文件组件4. Element UI及Vuex的使用5. 项目结构的搭建与开发 教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!细节参考1.vue环境搭建及入门程序2计算、监听及vue-tools的安装3样式绑定4style与删除操作5筛选和过滤6传播为与事件7使用vue绑定表单输入与vue生命周期8过渡效果与过滤器9自定义指令与自定义插件10vue脚手架vuecli的安装与启动11vuecli源码解读与eslint12状态管理组件vuex13状态管理功能扩展14状态管理功能优化15vueresource异步请求和跨域16bug调试17node复习与Promise18全局组件与私有组件19动态组件20组件过渡效果和参数传递问题21调用组件内部定义的方法22ref引用和render渲染函数

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧