账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    addEventListener 的 点击删除节点事件报错?
    22
    0

    使用 addEventListener 添加点击事件,然后点击删除按钮的父节点会报错(The node to be removed is not a child of this node.),而使用onclick事件却不会,请问这是什么原因呢?

    <body>
    <div class="main">
        <div class="text-box">
            <p>有什么新鲜事要告诉大家?</p>
            <textarea id="text-input" ></textarea>
            <input id="send" type="button" value="发布" />
        </div>
        <div id="show"></div>
    </div>
    
    <script type="text/javascript">
    var user_text = document.getElementById("text-input");
    var send = document.getElementById("send");
    var show = document.getElementById("show");
    send.addEventListener("click",function(){
        if(user_text.value == ""){
            alert("请输入要发布的内容!");
            return;
        }
        var post_text = document.createTextNode(user_text.value);
        var post = document.createElement("p");
        var del = document.createElement("span");
        var del_text = document.createTextNode("删除");
    
        del.appendChild(del_text);
        post.appendChild(post_text);
        post.appendChild(del);
        show.insertBefore(post,show.firstChild);
        user_text.value = "";
    
        var del_btn = show.getElementsByTagName("span");
        for(var i = 0; i < del_btn.length; i++){
            del_btn[i].addEventListener("click",function(){
                show.removeChild(this.parentNode);
            });
        }
    });
    
    </script>
    </body>
    
    

    我知道报的错是什么意思,这不是重点,我是想知道为什么addEventListener添加的事件会报错,而改成onclick事件就不会。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 莫晓渡 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部