<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://smwiki.info/index.php?action=history&amp;feed=atom&amp;title=Javascript%3A%EB%8C%93%EA%B8%80%EB%8B%AC%EA%B8%B0</id>
	<title>Javascript:댓글달기 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://smwiki.info/index.php?action=history&amp;feed=atom&amp;title=Javascript%3A%EB%8C%93%EA%B8%80%EB%8B%AC%EA%B8%B0"/>
	<link rel="alternate" type="text/html" href="https://smwiki.info/index.php?title=Javascript:%EB%8C%93%EA%B8%80%EB%8B%AC%EA%B8%B0&amp;action=history"/>
	<updated>2026-05-07T09:17:47Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://smwiki.info/index.php?title=Javascript:%EB%8C%93%EA%B8%80%EB%8B%AC%EA%B8%B0&amp;diff=4740&amp;oldid=prev</id>
		<title>Sam: 새 문서: {{Javascript}}  == 개요 == html 안에 댓글과 관련한 태그들을 실시간으로 쌓아주면 댓글 추가를 구현할 수 있다. {| class=&quot;wikitable&quot; !과정 !설명 !코...</title>
		<link rel="alternate" type="text/html" href="https://smwiki.info/index.php?title=Javascript:%EB%8C%93%EA%B8%80%EB%8B%AC%EA%B8%B0&amp;diff=4740&amp;oldid=prev"/>
		<updated>2021-06-12T10:03:02Z</updated>

		<summary type="html">&lt;p&gt;새 문서: {{Javascript}}  == 개요 == html 안에 댓글과 관련한 태그들을 실시간으로 쌓아주면 댓글 추가를 구현할 수 있다. {| class=&amp;quot;wikitable&amp;quot; !과정 !설명 !코...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Javascript}}&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
html 안에 댓글과 관련한 태그들을 실시간으로 쌓아주면 댓글 추가를 구현할 수 있다.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!과정&lt;br /&gt;
!설명&lt;br /&gt;
!코드&lt;br /&gt;
|-&lt;br /&gt;
|추가할 태그 쓰기&lt;br /&gt;
|html 파일을 새로 쓴다.&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--댓글에 해당하는 태그를 쓴다.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;profile_img&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;comment_field&amp;quot;&amp;gt;&lt;br /&gt;
        내용&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!--필요에 따라 삭제, 수정버튼을 구현한다.--&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;delete_button&amp;quot; data-name=&amp;quot;delete&amp;quot;&amp;gt;삭제&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|댓글 추가 구현&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//자바스크립트 함수 안에 ajax호출 명령을 쓴다.&lt;br /&gt;
&lt;br /&gt;
    $.ajax({&lt;br /&gt;
        type:&amp;#039;POST&amp;#039;,&lt;br /&gt;
        url:&amp;#039;위에서 작성한 html 주소.&amp;#039;,&lt;br /&gt;
        data:&amp;#039;&amp;#039;,&lt;br /&gt;
        dataType:&amp;#039;html&amp;#039;,&lt;br /&gt;
        success:(data)=&amp;gt;{&lt;br /&gt;
            document.querySelector(&amp;#039;.comment_container&amp;#039;).insertAdjacentHTML(&amp;#039;beforeend&amp;#039;,data)&lt;br /&gt;
            //comment_container클래스를 가진 태그 안쪽 가장 아랫쪽에 넣는다는 의미.&lt;br /&gt;
        },&lt;br /&gt;
        error:()=&amp;gt;{}&lt;br /&gt;
    });&lt;br /&gt;
    const comment = document.querySelector(&amp;#039;#아이디 등 선택자&amp;#039;)&lt;br /&gt;
    comment.value = &amp;#039;&amp;#039;;  // 인풋에 내용이 남아있는데, 이걸 지워준다.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|댓글 삭제 구현&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function delegation(e){&lt;br /&gt;
    let target = e.target;  // 이벤트객체 e를 이용한 것. 어떤 것을 클릭했는지 알려준다.&lt;br /&gt;
    console.log(target);&lt;br /&gt;
    while(!target.getArribute(&amp;#039;속성&amp;#039;)){&lt;br /&gt;
        target = target.parentNode;  //찾는 속성이 없는 경우, 부모에서 속성을 찾는다.&lt;br /&gt;
        if(target.nodeName === &amp;#039;BODY&amp;#039;){target = null; return;}  // 바디까지 올라가도 없으면 없음. 종료시켜준다.&lt;br /&gt;
    }&lt;br /&gt;
    if(target.matches(&amp;#039;[data-neme=&amp;quot;delete&amp;quot;]&amp;#039;)){&lt;br /&gt;
        if(confirm(&amp;#039;지운다 이거~?&amp;#039;)===True){  // 확인을 누르면 True를 반환한다.&lt;br /&gt;
            $.ajax({&lt;br /&gt;
                type:&amp;#039;POST&amp;#039;&lt;br /&gt;
                url:&amp;#039;json&amp;#039;,&lt;br /&gt;
                data:&amp;#039;&amp;#039;,&lt;br /&gt;
                dataType:&amp;#039;json&amp;#039;,&lt;br /&gt;
                success:(response)=&amp;gt;{&lt;br /&gt;
                    if(response.status){  // json에서 status를 지정해둔다.&lt;br /&gt;
                        let comt = document.querySelector(&amp;#039;#아이디선택자.&amp;#039;);&lt;br /&gt;
                        comt.remove  // 해당 요인을 실시간으로 지운다.&lt;br /&gt;
                    }&lt;br /&gt;
                    &lt;br /&gt;
                }&lt;br /&gt;
                error:()=&amp;gt;{}&lt;br /&gt;
            })&lt;br /&gt;
        }&lt;br /&gt;
    }else if(target.matches(&amp;#039;[속성명2=&amp;quot;값2&amp;quot;]&amp;#039;)){&lt;br /&gt;
        해당 버튼에 대한 명령&lt;br /&gt;
        target.classList.toggle(&amp;#039;on&amp;#039;);  // 실시간으로 좋아요 버튼을 활성화하는 등에 쓰인다.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
window.addEventListener(&amp;#039;click&amp;#039;, delegation);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
</feed>