我使用createElement创建一个表。表,tr和td得到一个id。每个td都有一个dblclick eventlistener。因此,当您执行dblick时,将显示div。
但是我找回了错误的ID。我只得到最后一个条目的id。
我检查调试模式中的条目,没关系,为什么我只得到最后一个id?
我想获取元素的id,当我做dblclick时。
插入功能:
countTable ++;
document.getElementById("counterTable").value = countTable;
var range= sel.getRangeAt(0);
myParent=document.getElementById("iframe_editor").contentWindow.document.body;
table=document.createElement("TABLE");
table.id = "tableid"+countTable;
for (i = 1; i <= document.getElementById("numoftr").value; i++)
{
tr = document.createElement("TR");
tr.id = table.id+"-"+"trid"+i;
for (j = 1; j<= document.getElementById("numoftd").value; j++)
{
td = document.createElement("TD");
td.id = tr.id+"-"+"tdid"+j;
td.addEventListener( 'dblclick', function(){
loadTableAttribute(td.id);
},td.id);
tr.appendChild(td);
}
table.appendChild(tr);
}
table.appendChild(emptyNode);
myParent.appendChild(table);
range.insertNode(table);
LoadTableAttribute
function loadTableAttribute(tdid)
{
alert(tdid);
}
答案 0 :(得分:0)
使用var tr = ..
和var td = ..
并在听众中将this.id
发送给该函数:loadTableAttribute(this.id);
编辑关于var
使用情况的好帖子是this。始终在相关范围内使用var
。