Есть вот такой код
$(document).ready(function () {
$("div.field").click(function () {
$(this).replaceWith('<input class="field" type="text" value=' + $(this).text() + '>');
});
});
$(document).click(function () {
$("input.field").blur(function () {
$(this).replaceWith('<div class="field">' + $(this).val() + '</div>');
});
});
Стоит задача, при клике на div, сделать его полем ввода, а затем измененный текст вернуть обратно в div.
Код работает, но с косяками.
Вопросов 2:
1. При нажатии на div, появляется поле ввода, но фокус в него не устанавливается. Как исправить?
2. При повторном нажатии поле ввода не появляется. Почему и как исправить?
Буду благодарен, если помимо решения пнете в сторону, что почитать для уяснения сути.