С этим PHP я добавляю следующее HTML. Я использую PHP, потому что получаю информацию из базы данных, но в этом вопросе это не имеет значения.
<?php
echo "
<div id='user_bio_container'>
<p id='user_bio'>My bio<i id='user_bio_edit' class='fas fa-edit'></i></p>
</div>
";
?>
Это сценарий, который у меня есть. Когда пользователь щелкает био-абзац, он сохраняет внутреннюю часть абзаца в переменной, затем очищает контейнер и добавляет форму. Если форма отменена, я хочу удалить форму и добавить предыдущий HTML, который у меня был в абзаце. Проблема в том, что когда я пытаюсь это сделать, новый абзац не реагирует на события (наведение курсора, щелчок ...).
$('#user_bio_edit').css("display", "none");
$(document).ready(function(){
$("#user_bio").on('mouseover', function(){
$('#user_bio_edit').css("display", "inline");
});
$("#user_bio").on('mouseleave', function(){
$('#user_bio_edit').css("display", "none");
});
$("#user_bio").on('click', function(){
var actualbio = $("#user_bio_container").html();
$('#user_bio_container').empty();
var user_bio_form =
"<form id='change_user_bio'>" +
"<span id='cancel_user_bio'>Cancel</span>"
"</form>";
$("#user_bio_container").append(user_bio_form);
//Button decision control
$("#cancel_user_bio").on('click', function(){
$("#user_bio_container").empty();
$("#user_bio_container").append(actualbio);
$('#user_bio_edit').css("display", "none");
});
});
});
Я пробовал использовать hide()
и show()
, но после две отмененные формы перестают работать, и я продолжаю добавлять формы к HTML, которые не отображаются. Я также попытался переместить код управления решением кнопки за пределы события нажатия, но он тоже не работает.