如何innerHTML中嵌入事件处理,如onClick等。

nebula 2002-11-25 06:49:04
以下代码不行,能通过,但是没有作用:
var src=document.all.jxtab;
row = src.insertRow(src.rows.length-1);
if(cell=row.insertCell(1))
cell.innerHTML="<td onClick='prc_hmt();'>"+tmp[k]+"</td>";
alert(cell.innerHTML);
alert("<td onClick='prc_hmt();'>"+tmp[k]+"</td>");

以下代码也不行,效果一样:
var src=document.all.jxtab;
row = src.insertRow(src.rows.length-1);
if(cell=row.insertCell(1))
cell.innerHTML="<td onClick=\"prc_hmt();\">"+tmp[k]+"</td>";
alert(cell.innerHTML);
alert("<td onClick=\"prc_hmt();\">"+tmp[k]+"</td>");

但是我用alert得出的结果,用innerHTML作参数的显示:"fjdsk</td>"
用字符串作参数的显示是正确的html 语句。
为什么innerHTML 会将前面的<td onClck....>去掉了?
有什么方法可以让innerHTML中写入事件响应吗?
谢谢!
...全文
478 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nebula 2002-11-25
  • 打赏
  • 举报
回复
非常感谢:onestab(┼─),已经解决。结帐了!!
imafool 2002-11-25
  • 打赏
  • 举报
回复
关键:不能用innerHTML添加table。
方工 2002-11-25
  • 打赏
  • 举报
回复
用attachEvent:
<button onclick="addData()">add data</button>
<table id=jxtab>

<table>
<script language="JavaScript">
<!--
var k=0;
var tmp=new Array(1,2,3,4,5);
function addData(){
if (k>=tmp.length) return;
var src=document.all.jxtab;
row = src.insertRow(src.rows.length);
if(cell=row.insertCell())
cell.innerHTML="data: " + tmp[k];
cell.attachEvent('onclick', f);
alert(cell.outerHTML);
k++;
}
function f(){
alert(event.srcElement.innerHTML);
}
//-->
</script>
sun1979song 2002-11-25
  • 打赏
  • 举报
回复
加个div,把事件都写在div上
<body>
<script>
function a(){
var tbl = document.getElementById("ha");
var row = tbl.insertRow();
var cell = row.insertCell();
cell.innerHTML = "<div onclick='alert(this.innerHTML)'>aaaa</div>"
}
</script>
<table id="ha">
<tr><td>aaa</td></tr>
</table>
<button onclick="a()">
</button>
</body>

87,910

社区成员

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

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