如何将参数传递给 addEventListener 函数?
Dec 11, 2024 pm 08:10 PM如何向 addEventListener 监听器函数传递参数
在我们想要向事件监听器函数传递参数的场景中,我们可能会遇到参数为函数内无法访问。当我们将变量分配给函数时,可能会发生这种情况,如下所示:
var someVar = some_other_function(); someObj.addEventListener("click", function(){ some_function(someVar); }, false);
登录后复制
这里,问题是 someVar 的值在事件侦听器的函数中不可用。
A更好的方法:使用事件目标的参数
为了解决这个问题,我们可以利用事件对象的 target 属性来检索传递给侦听器的参数 功能。考虑这个例子:
const someInput = document.querySelector('button'); someInput.addEventListener('click', myFunc, false); someInput.myParam = 'This is my parameter'; function myFunc(evt) { window.alert(evt.currentTarget.myParam); }
登录后复制
在此修改后的代码中:
- 我们将参数(“这是我的参数”)分配给输入元素的 myParam 属性。
- 我们的 myFunc 函数是在事件侦听器的范围之外定义的。
- 单击输入元素时, myFunc 函数被调用。
- 在 myFunc 函数中,我们可以通过 evt.currentTarget.myParam 访问我们的参数。
这种方法有效地允许我们将参数传递给事件侦听器函数没有遇到原来的问题。
以上是如何将参数传递给 addEventListener 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)