Resalte el color del borde de la celda cuando haga clic, cambie de nuevo cuando haga clic en otros

Tengo el siguiente código:

function highlight(cell){
		cell.style.borderColor = "red";
	}
	
	function originalColor(cell){
		cell.style.borderColor = "black";
	}
td{
		cursor: pointer;
	}
<table border="1">
	<tr>
	<td  onmousedown="highlight(this);" onblur="originalColor(this);">Cell 1</td>
	<td  onmousedown="highlight(this);" onblur="originalColor(this);">Cell 2</td>
	<td  onmousedown="highlight(this);" onblur="originalColor(this);">Cell 3</td>
	</tr>
	<tr>
	<td  onmousedown="highlight(this);" onblur="originalColor(this);">Cell 4</td>
	<td  onmousedown="highlight(this);" onblur="originalColor(this);">Cell 5</td>
	<td  onmousedown="highlight(this);" onblur="originalColor(this);">Cell 6</td>
	</tr>
	<tr>
	<td onmousedown="highlight(this);" onblur="originalColor(this);">Cell 7</td>
	<td onmousedown="highlight(this);" onblur="originalColor(this);">Cell 8</td>
	<td onmousedown="highlight(this);" onblur="originalColor(this);">Cell 9</td>
	</tr>
	</table>

Resaltará el borde a rojo cuando haga clic, cuando haga clic en la otra celda, suponga que cambiará de nuevo a color negro, pero no funciona, lo intentoonmouseup, onmouseover, no funciona como lo que quiero.

La técnica que he probado es usartabindex, funciona; pero eso puede resaltar una celda, si trato de seleccionar 2 celdas al mismo tiempo, no funciona. Alguien puede ayudar?

Respuestas a la pregunta(2)

Su respuesta a la pregunta