Вот
решение твоей задачи.
Дело в том что ты пытаешься повесить событие "onblur" на ещё не существующий элемент.
<div onclick="transformToTextarea(this);" style="width: 50px; height: 50px; background-color: blue;"></div>
function transformToTextarea(el) {
el.outerHTML = '<textarea onblur="transformToDiv(this);">' + el.innerHTML + '</textarea>';
}
function transformToDiv(el){
el.outerHTML = '<div onclick="transformToTextarea(this);">' + el.value + '</div>';
}
В данном случае заранее объявлено две функции, а в событии через атрибуты самого элемента указывается их вызов.