Ich versuche, td-Elemente mit contentEditable editierbar zu machen. Dies scheint zu funktionieren, aber aus irgendeinem Grund werden sowohl die Tabelle als auch die 'Zelle' ausgewählt.Tabelle wird ausgewählt, wenn contentEditable verwendet wird
Ich weiß nicht, wie Sie dieses Verhalten verhindern können. Das habe ich bis jetzt bekommen.
\t document.querySelector('body').addEventListener('click', function(event) {
\t \t if (event.target.tagName.toLowerCase() === 'td') {
\t \t \t this.contentEditable = true;
\t \t \t this.focus();
\t \t }
\t });
\t
\t document.querySelector('body').addEventListener('blur', function(event) {
\t \t if (event.target.tagName.toLowerCase() === 'td') {
\t \t \t this.removeAttribute("contentEditable");
\t \t }
\t });
td[contentEditable] {
background:black;
color:white;
}
<table class="table" id="tableCompleted">
<thead>
<tr>
<th>Name</th>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>Yes</td>
<td>Yes</td>
<td>No</td>
<td>No</td>
</tr>
<tr>
<td>Jesse</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>David</td>
<td>No</td>
<td>Yes</td>
<td>No</td>
<td>No</td>
</tr>
</tbody>
</table>