javascript - 复制“更改”事件监听器函数
问题描述
我有这个 HTML 标签
<input type="file" id="File">
有一个事件监听器
document.getElementById("File").addEventListener("change", function() {alert("test")});
我想在侦听器中复制该函数,但以下所有行都返回 null 或 undefined
document.getElementById("File").getAttribute("change")
//null
document.getElementById("File").change
//undefined
document.getElementById("File").getAttribute("onchange")
//null
document.getElementById("File").onchange
//null
如何从侦听器中复制匿名函数?
解决方案
你不能。
您没有保留对它的引用,也没有 API 可以将其从侦听器列表中拉出。
重构您的代码,以便从一开始就保留对它的引用。
function myChangeHandler (event) {
alert("test");
}
document.getElementById("File").addEventListener("change", myChangeHandler);
推荐阅读
- c# - 嵌套对象上的 EqualityComparer
- python - Python Requests (Web Scraping) - 构建一个 cookie 以便能够查看网站中的数据
- angular - 角度 5 为什么更改在 mat-menu 中不起作用
- python - 如何请求 json 数据
- python - 为什么熊猫分组聚合丢弃分类列?
- rest - 是否有可用于多种客户端类型的一站式 OAuth2 工作流程?
- javascript - 如何将网页的方向更改为阿拉伯语、希伯来语的 RTL?
- reactjs - 使用 map() 构建表单,如何从 this.state 中放入信息?
- ios - 如何使 mostRecentLocation.horizontalAccuracy 和 hcKalmanFilter?.rValue 可由文本字段编辑?迅速
- gitlab - 推入bitbucket后文件夹内容为空