jQuery .replaceWith 메서드를 사용하여 사용자가 게시물에 답글을 달거나 게시물에 주석을 달 수 있습니다. 답장 버튼은 클릭 할 때 텍스트 상자를 만드는대로 작동합니다. 그러나 취소 버튼을 클릭하면 페이지를 새로 고침하지 않고 원래 게시물로 돌아가는 대신 페이지가 새로 고침됩니다. 취소 버튼이 제대로 작동하도록하려면 어떻게해야합니까? 도와 줘서 고마워!jQuery .replaceWith() 메서드가 클릭시 새로 고침
<form method="post">
<input type="hidden" name="post_id" value="{{ p.key.id() }}">
<input type="hidden" name="user_id" value="{{ user.key.id() }}">
<input type="button" name="reply" id="{{ p.key.id() }}" value="Reply">
</form>
<script>
$("#{{ p.key.id() }}").click(function() {
var reply = $("<textarea name='reply_content' style='resize: none; width: 550px; height: 100px;'></textarea><br><input type='submit' name='reply' value='Reply'><input type='submit' id='cancel_{{ p.key.id() }}' value='Cancel'>")
$("#{{ p.key.id() }}").replaceWith(reply);
});
$("#cancel_{{ p.key.id() }}").click(function() {
var cancel = $("<input type='button' name='reply' id='{{ p.key.id() }}'' value='Reply'>");
$("#{{ p.key.id() }}").replaceWith(cancel);
});
</script>
이란 {{p.key.id()}} jQuery를 선택자에 대한? – calcazar
@calcazar Jinja2 템플릿을 사용하고 있으므로 서버 측 변수를 템플릿에 전달하고 있습니다. – Young
cancel_whateverid가 동적으로 추가되고 있으므로 추가 할 때 이벤트를 바인드하거나 심지어 위임을 사용해야합니다. 속는 사람에게 코드 샘플이 있습니다. ("받아 들여진"대답이 항상 최선은 아님을 참고하십시오) –