没什么不同啊,你可以试下在把editcontentable属性改动后再添加事件
<p id="p1">
<table id="table1" border="1" width="100%">
<tr>
<td id="td1">dfsdf
</td>
<td>dffdgsdf
</td>
</tr>
<tr>
<td>dfsdf
</td>
<td>dffdgsdf
</td>
</tr>
</table>
</p><table id="table1" border="1" width="100%">
<tr>
<td id="td1">dfsdf
</td>
<td>dffdgsdf
</td>
</tr>
<tr>
<td>dfsdf
</td>
<td>dffdgsdf
</td>
</tr>
</table>
<input name=haha type=button value="按" onclick=edit()>
<script language=javascript>
function edit()

var a=document.getElementById("p1").isContentEditable
var flag=!a
document.getElementById("p1").contentEditable=flag;
document.getElementById("p1").onkeydown=function keyDown()
{
alert('haha')
}
}
</script>