首页 > 解决方案 > 将匿名功能分配给按钮

问题描述

当我使用 if 语句来确定用户之前是否查看过表单时,它会破坏我的整个代码。最初,我的代码只是删除了一个孩子,并将下一个 DIV 的显示设置为“阻止”。这工作得很好。我所有的变量最后都正确保存了,等等。

但是,自从我将这些检查添加到按钮后,一切都变得混乱了。

我尝试过使用 appendChild、removeChild 和 style.display 方法的不同组合。我什至在 notepad++ 中启动它来帮助我进行可视化。

document.getElementById("newUser").addEventListener("click", function(parent, start, personal){
parent.removeChild(start);
document.getElementById.style.display="block";
});

document.getElementById("toGeneral").addEventListener("click", function(){
    if(reUser === 0){
        oPersonal;
        document.getElementById("general").style.display="block";
    } else if(reUser === 1){
        oPersonal;
        parent.appendChild(oShowInfo);
    } else {
        window.alert("Whoops this function is in progress");
    }
    return oPersonal;
});

我希望我的表单在表单末尾是可编辑的。在一项测试中(不是这个)。我能够在页面之间来回移动,但它会停止使我的变量保持不变的循环。

这个使用 oldChild = parent.removeChild() 方法来解决这个问题,这也可能是问题的一部分。

**注:变量如

o个人

重用

父母

在页面循环开始时存储在此代码上方。

新代码:

document.getElementById("newUser").addEventListener("click", function(){
parent.removeChild(start);
document.getElementById.style.display="block";
});

document.getElementById("toGeneral").addEventListener("click", function(){
    if(reUser === 0){
        oPersonal;
        document.getElementById("general").style.display="block";
    } else if(reUser === 1){
        oPersonal;
        parent.appendChild(oShowInfo);
    } else {
        window.alert("Whoops this function is in progress");
    }
    return oPersonal;
});

标签: javascript

解决方案


You have many problems in this code. First, your click event's handler can not take 3 args like this. When an event is triggered, only this event is passed to the function. So your code should looks like :

document.getElementById("newUser").addEventListener("click", function(event) {
    let element = event.target;
    let parent = element.parentNode;
    parent.removeChild(element);
    //Next line is wrong since getElementById is a function and should take args
    //document.getElementById.style.display="block";
});

Then on your second element's click event handler, it seems like you are trying to use parent which is not in the same scope. Also the return statement is strange, what are you trying to do ?


推荐阅读