javascript - 如何使用 JavaScript 中的点击方法访问外部函数的内部函数?
问题描述
var pick = {};
function pick0() {
pick.value = document.getElementById('box00').getAttribute('data-value');
}
function myCheck() {
function drop() {
var content = document.getElementById('box');
content.innerHTML = pick.value;
}
}
#box {
background-color: #f1f1f1;
width: 60px;
text-align: center;
height: 50px;
font-size: 30px;
border: 1px solid black;
}
#box00 {
background-color: #f1f1f1;
width: 60px;
text-align: center;
height: 50px;
font-size: 30px;
border: 1px solid black;
}
<div id="box" onclick="drop()"></div>
<br>
<button type="button" id="button" onclick="myCheck()">CHECK</button>
<br><br>
<div id="box00" data-value="0" onclick="pick0()">0</div>
这些是我的代码。在这里,我想在按下按钮后将值从“Box00”复制到“Box”。如果不按下按钮,我不想复制该值。我尝试了很多方法,但我找不到解决这个问题的方法。我希望你能理解我的问题。请帮我。
解决方案
我不清楚您试图通过嵌套函数实现什么。
您的操作确实有问题,因为drop()
假设pick.value
将被设置,但pick.value
只能通过调用来设置pick0()
。我们希望单击按钮自行工作。您尝试做的所有事情都可以通过这个函数来处理:
function myCheck() {
// find the target "box" element
var content = document.getElementById('box');
// set the "box"'s content to the data-value from "box00"
content.innerHTML = document.getElementById('box00').getAttribute('data-value');
}
除非您想添加其他功能,否则您似乎不需要两个框本身的单击处理程序。
推荐阅读
- java - 正确实现多态性,没有 Java 气味
- math - 关于骰子和硬币的任务
- python-3.x - 如何杀死所有通过python运行的后台异步进程?
- c# - 在 ASP.NET Core 中使用策略模式格式化 FilterAttribute 结果
- javascript - 仅允许在 textarea 中更改某些文本
- javascript - 取消模态编辑 - ReactJS
- python - 将图像链接到列表中的单词
- javascript - 将 JS 和数组悬停到字符串错误
- java - 如何在 AndroidStudio 中向 ExpandableListView 添加按钮?
- c# - 在剃刀页面中上传文件时拒绝连接