HTML contenteditable = true disorder /意外更改表行结构

时间:2017-09-15 14:43:19

标签: javascript jquery html css contenteditable

当我点击编辑按钮并尝试编辑电子邮件列的内容时.HTML表格结构发生了奇怪的变化。

这是我的代码段:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
</head>
<script>
function deleteAction(){
	$("#fname").attr('contenteditable','true');
	$("#lname").attr('contenteditable','true');
	$("#email").attr('contenteditable','true');
}
</script>
<body>
<div class="container">            
  <table class="table table-bordered">
    <thead>
      <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>Email</th>
		<th>Delete</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="fname">John</td>
        <td id="lname">Doe</td>
        <td id="email">john@example.com</td>
		<td><button class="btn btn-danger" id="delete" onclick="deleteAction()">Delete</button></td>
      </tr>
    </tbody>
  </table>
</div>

</body>
</html>

此代码段适用于SO内联代码段运行器。但是您可以在下面的图片中看到相同的代码工作方式不同。

enter image description here

任何人都可以解决这个问题吗?并说我在哪里错了?

1 个答案:

答案 0 :(得分:0)

调试代码后,我发现Chrome浏览器中的Grammarly扩展会导致此问题。禁用扩展后,它可以正常工作。