11

我正在尝试创建客户端可编辑表。这是我的代码。它适用于 Chrome、Firefox 但不适用于 IE。与 IE 的脚本还有什么关系吗?

<script type="text/javascript"       src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function() {

$("td").click(function(){
if($(this).attr("contentEditable") == true){
    $(this).attr("contentEditable","false");
} else {
    $(this).attr("contentEditable","true");
}
})
});
</script>

<p> 
<table id='transitTable' border="1" cellspacing="2" cellpadding="2" class='display'    width="400">
<tr id='1'>
<td >H1</td>
<td >H2</td>
<td >H3</td>
<td >H4</td></tr>
<tr id='2'>
<td >R1</td>
<td >R1</td>
<td >R1</td>
<td >R1</td></tr>
<tr id='3'>
<td >R2</td>
<td >R2</td>
<td >R2</td>
<td>R2</td></tr></table></p>
4

3 回答 3

12

IE中有很多元素,不能contenteditable直接设置。但是,您可以将整体包装table成内容可编辑的div.

<div contenteditable="true">
    <table>
       ...
    </table>
</div>

这将使表格中的所有单元格都可编辑。尽管在某些浏览器 (FF) 中,由于显示了表格的编辑句柄,视图会有些混乱。

另一种可能性是添加例如内容可编辑的spandiv每个td.

于 2013-08-22T15:02:29.807 回答
6

IE 不是标签contenteditable内的响应。td

你可以试试:

<td id="my-content" class="editable">
    <div contentEditable="true" style="width: 100%; height: 100%;">
        ...
    </div>
</td>
于 2016-05-18T09:11:45.927 回答
0

下面的代码将在 IE 以及 chrome 中工作,而无需对 GUI 进行网格化。

   <td contentEditable="true">
    <div contentEditable="true">
        ...
    </div>
   </td>
于 2020-05-29T08:58:10.530 回答