javascript - 将匿名功能分配给按钮
问题描述
当我使用 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;
});
解决方案
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 ?
推荐阅读
- ruby - 页面对象模型的“浏览器”的水豚实例?
- c - 使用 devm_* api 获取 GPIO 引脚号
- r - 使用一行中的两个或多个值从 data.table 中查找第 N 行
- python - 使用 amazon athena 从 s3 存储桶中读取单个 csv 文件并进行查询
- javascript - PHP 标头没有充分的理由不起作用
- powershell - 无法为服务帐户的计划任务中调用的脚本调用 Web 请求
- javascript - Apollo 客户端在突变后更新缓存,但不更新页面
- .net - Visual Studio 2019 安装导致 Type '' is not defined 错误(.NET Framework 4 项目)
- python - cassandra错误“批量太大”使用python
- r - 寻找置信区间