Conservar al menos un elemento P dentro de contenteditable

Tengo un contenteditable con un elemento

dentro de él como el siguiente

 

dummy content here !!!!!

Cuando hago clic en la tecla de retroceso en el teclado hasta que elimina todo el texto, si vuelvo a hacer clic en la tecla de retroceso, también se elimina el elemento

. En mi caso, me gustaría mantener al menos un elemento

allí

 $(document).on('keydown', '[contenteditable=true]', function(e){ var contenteditable = $(this) if(e.keyCode == 8){ // if backspace var p = contenteditable.find('p'); var pLength = p.length; if(pLength == 1){ // if only one 

exists inside contenteditable var pHtml = p.html(); // if only
is still inside

then prevent // the backspace to delete the

if( pHtml == "
" || pHtml == ""){ e.preventDefault() } } } });

¡Pero no funciona! También quiero evitar la eliminación de

si el usuario selecciona todo el texto a la vez utilizando Ctrl + A o el mouse y pulsa la tecla Retroceso.

Tampoco estoy seguro de si mi método es el mejor, pero estoy abierto a todas las sugerencias. Gracias

ACTUALIZACIÓN:

He encontrado otra forma de hacerlo pero aún no está completa:

 $(document).on('keyup', '[contenteditable=true]', function(e){ var contenteditable = $(this); if( e.keyCode == 8 ) { if(contenteditable.find('p').length == 0){ contenteditable.html('


'); } } });

en la tecla Retroceso, compruebo si no existe ningún elemento P dentro del contenteditable, si no se encuentra ningún elemento, agrego uno con
dentro, pero aún debo configurar el cursor antes de que br