javascript - 不能将 onclick() 与嵌套函数一起使用?
问题描述
我正在尝试用onclick()
函数替换元素中的图像,但该leaveCave()
函数已经嵌套在enterCave()
函数中。如果我自己放置嵌套函数,我无法更改leaveCImg.src
已经在父函数中声明的函数。
function enterCave() {
sceneImg.src = 'insideCave.jpg';
caveImg.src = '';
enemySpawn()
updateMessage1.innerHTML = 'Please kill the ' + enemy.name;
var leaveCImg = document.createElement('img');
leaveCImg.src = './images/leaveCave.png';
var leaveC = document.getElementById('leaveCave');
leaveC.appendChild(leaveCImg);
function leaveCave() {
if (isEnemy) {
update2('The ' + enemy.name + ' wont let you leave!');
} else {
sceneImg.src = 'town.jpg';
caveImg.src = 'cave.jpg';
leaveCImg.src = '';
}
}
}
解决方案
我不是 100% 肯定,但我认为你可以把整个东西变成一个类,然后让函数成为方法,并在构造函数或类似的东西中拥有所有变量等,然后你应该能够从您为函数设置的方法中调用或更改这些变量。所以你可以有一个名为“Cave”的类,然后你可以将默认值放在构造函数中,然后创建“enterCave”函数和“leaveCave”函数,然后它们只是操纵这些值。那么我认为你应该也可以使用 onclick() 函数。我希望我在尝试解释这一点时有所了解。祝你好运!
推荐阅读
- flutter - 颤振字符串修复
- java - Java中的二进制搜索不会终止
- amazon-dynamodb - 是否可以同时扫描以查找项目,然后在 DynamoDB 中的事务中更新它
- python-3.x - 无法在 Raspberry Pi 3 上安装适用于 Python 的 google-cloud-vision 客户端库
- wordpress - Wordpress:使用传入的 URL 变量参数更改页面中的文本
- github - 从 Free Heroku Dyno 推送到 Github
- python-3.x - 如何绘制嵌套列表(x)与 y
- java - 如何将 .dll 转换为 .jnilib?
- python - 我的猜谜游戏规则没有被遵守
- asynchronous - Spring-Kafka:BATCH 模式 + 异步提交。如何从 kafka 代理失败中恢复?