单击按钮删除子项

Car*_*rán 0 javascript dom

有这个JS代码:

var prompter = (function(){
    var prompt = document.createElement('div');
    /* prompt-related stuff */

    var closeBtn = document.createElement('button');
    /* closeBtn stuff */

    prompt.appendChild(closeBtn);

    this.html = prompt;

    this.show = (function(){
        document.body.appendChild(this.html);
    });

    this.close = (function(){
        document.body.removeChild(this.html);
    });
});
Run Code Online (Sandbox Code Playgroud)

如果我做

    var p = new prompter();
    p.show();
Run Code Online (Sandbox Code Playgroud)

它确实显示了提示符,如果我这样做p.close();就会消失.

但我想要的是通过点击closeBtn它确实关闭.我有想法添加一个id提示,然后将属性onclick添加到按钮并通过它执行操作id,但这看起来真的很丑...

TW8*_*000 5

您需要为您创建的按钮添加事件侦听器:

closeBtn.addEventListener("click", this.close.bind(this));
Run Code Online (Sandbox Code Playgroud)