javascript - 为了让功能一“知道”它将对功能二中发生的事情做出反应,如何涉及参数?
问题描述
以下代码实际上有效,但我不明白为什么。为什么当我将“事件”参数传递给函数 zaehle() 时,该函数实际上“知道”它应该对设置函数中发生的事情做出反应?
我只是看不到 zaehle() 和 setup() 函数的连接方式,或者我传递给 zaehle() 的参数将如何参与。
我希望我能把问题说清楚。如果不是,我很乐意尝试以其他方式解释它。这真的让我很烦恼,我觉得在我得到它之前我不能继续学习。
<body>
<div id="eins">0</div>
<div id="zwei">0</div>
<div id="drei">0</div>
<div id="vier">0</div>
<div id="funf">0</div>
</body>
JS
var mouseoverZaehler = 0;
function zaehle(event) {
mouseoverZaehler++;
event.target.innerHTML = mouseoverZaehler;
}
function setup() {
document.getElementById("eins").addEventListener("mouseover", zaehle);
document.getElementById("zwei").addEventListener("mouseover", zaehle);
document.getElementById("drei").addEventListener("mouseover", zaehle);
document.getElementById("vier").addEventListener("mouseover", zaehle);
document.getElementById("funf").addEventListener("mouseover", zaehle);
}
window.addEventListener("load", setup);
解决方案
这是一步一步发生的事情:
- 页面加载
setup
函数被调用(因为window.addEventListener("load", setup)
)- setup 函数中的每个元素都有一个附加的 mouseover 事件侦听器,并在它触发时
zaehle
调用函数(因为document.getElementById("number").addEventListener("mouseover", zaehle)
) - 您将鼠标移到任何元素上
zaehle
函数被调用 -mouseoverZaehler
递增并且innerHTML
目标元素的设置为更新的值mouseoverZaehler
查看addEventListener 文档以获取更多详细信息。
推荐阅读
- python - 使用 Python 抓取我的 html 代码所在的 txt 文件
- python - 如何删除多余的空行
- java - 重新排列 ArrayList 元素
- php - Codeigniter 导航栏调整/对齐问题
- reactjs - 如何为 SVG 圆圈内的图像添加边框
- ios - 没有应用内购买的积分购买购买游乐设施
- python-3.6 - randomSearchCv/gridSearchCv 冻结 n_jobs>1
- ruby-on-rails - 如何根据用户分配的角色限制用户进行编辑和删除操作
- c# - 如何使用 stripe api 更新客户发票详细信息
- python - ImportError:没有名为 grid_search、learning_curve 的模块