动态添加事件的问题 在线等,马上给分

junjunweiwei 2008-05-16 03:31:50
为什么我动态添加的图片,不能给他添加事件??
var imgObject = document.createElement('img');
imgObject.name ='open';
imgObject.attachEvent("onclick", CheckNode);

顺便问下,动态添加的事件可以传参数吗?如下:
imgObject.attachEvent("onclick", CheckNode(name,value));
...全文
139 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cubar 2009-03-12
  • 打赏
  • 举报
回复
我也遇到这个问题,现在解决了!
谢谢 s_liangchao1s
diysimon 2008-05-17
  • 打赏
  • 举报
回复
呵呵,这是闭包
junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 s_liangchao1s 的回复:]

[/Quote]
谢谢了
s_liangchao1s 2008-05-16
  • 打赏
  • 举报
回复
junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 s_liangchao1s 的回复:]
变量的格式
[/Quote]
2个加号中间,就是变量名,是这的意思吗?
s_liangchao1s 2008-05-16
  • 打赏
  • 举报
回复
变量的格式
junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
请问 能阿abc("+i+")

+ 号是什么意思?
junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 s_liangchao1s 的回复:]
能阿abc("+i+")
[/Quote]

谢谢,我先试试,实在是非常感谢,可以的话,马上结贴,不行的话,还需要请教
s_liangchao1s 2008-05-16
  • 打赏
  • 举报
回复
能阿abc("+i+")
junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 s_liangchao1s 的回复:]
HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
function add(){
var oTbl = document.getElementById('tbl');
var oRow = oTbl.insertRow(0);
var oCell = oRow.insertCell(0)
var imgObject = document.createElement('img');
imgObject.name ='open';
oCell.appendChild(imgObject );
imgObject.attachEvent("oncl…
[/Quote]

请问
new Function('abc("nihao")'));
参数不能是变量吗
junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 diysimon 的回复:]
var imgObject = document.createElement('img');
imgObject.name ='open';
imgObject.onclick = ( function(name) {
return( function checkNode(name) )
})(this.name)
[/Quote]

请问,这是给动态事件传参数的方法吗?,请告诉我谢谢
s_liangchao1s 2008-05-16
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
function add(){
var oTbl = document.getElementById('tbl');
var oRow = oTbl.insertRow(0);
var oCell = oRow.insertCell(0)
var imgObject = document.createElement('img');
imgObject.name ='open';
oCell.appendChild(imgObject );
imgObject.attachEvent("onclick", new Function('abc("nihao")')); //闭包

}

function abc(i)
{
alert(i)
}


</script>
</HEAD>

<BODY>
<input type="button" value="clear" onclick="add()">
<table border='1' id="tbl">

</table>
</BODY>
</HTML>


junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
动态添加的事件,不能传参数,请问,可以有可以解决的方法吗
junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 s_liangchao1s 的回复:]
怎么?
[/Quote]
谢谢,我知道原因了,但我想传参数怎么办啊,很急
diysimon 2008-05-16
  • 打赏
  • 举报
回复
var imgObject = document.createElement('img');
imgObject.name ='open';
imgObject.onclick = ( function(name) {
return( function checkNode(name) )
})(this.name)
s_liangchao1s 2008-05-16
  • 打赏
  • 举报
回复
怎么?
junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 s_liangchao1s 的回复:]
HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
function add(){
var oTbl = document.getElementById('tbl');
var oRow = oTbl.insertRow(0);
var oCell = oRow.insertCell(0)
var imgObject = document.createElement('img');
imgObject.name ='open';

imgObject.attachEvent("onclick", CheckNode);
oCell.app…
[/Quote]

var row = tableObject.insertRow();//添加一行
var cell = row.insertCell(); //添加一列

Cell.appendChild(imgObject );

s_liangchao1s 2008-05-16
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
function add(){
var oTbl = document.getElementById('tbl');
var oRow = oTbl.insertRow(0);
var oCell = oRow.insertCell(0)
var imgObject = document.createElement('img');
imgObject.name ='open';

imgObject.attachEvent("onclick", CheckNode);
oCell.appendChild(imgObject );//这个意思?
}

function CheckNode(){
alert('ok');
}
</script>
</HEAD>

<BODY>
<input type="button" value="clear" onclick="add()">
<table border='1' id="tbl">

</table>
</BODY>
</HTML>


s_liangchao1s 2008-05-16
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
function add(){
var imgObject = document.createElement('img');
imgObject.name ='open';
imgObject.attachEvent("onclick", CheckNode);
document.body.appendChild(imgObject );
}

function CheckNode(){
alert('ok');
}
</script>
</HEAD>

<BODY>
<input type="button" value="clear" onclick="add()">
</BODY>
</HTML>


junjunweiwei 2008-05-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 s_liangchao1s 的回复:]
var imgObject = document.createElement('img');
imgObject.name ='open';
imgObject.attachEvent("onclick", CheckNode);


JScript code
document.body.appendChild(imgObject );//添加到body中

不可以传参数
[/Quote]
我添加了,但是是添加到了动态创建<td> 中去了
cell.appendChild(imgObject);
加载更多回复(3)

87,992

社区成员

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

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