javascript - 复制一个 'change' EventListener函数

标签 javascript onchange addeventlistener

我有这个 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);

关于javascript - 复制一个 'change' EventListener函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54037246/

相关文章:

javascript - 使用 JQuery 从输入数字中获取值并更改 css

javascript - 我应该在 jQuery 函数中编写什么来从输入字段 (id=btnCloseDeal) 获取值并将其显示在另一个页面上?

javascript - 静态方法中的 setState

javascript - 添加更改功能后未捕获 RangeError

javascript - 我想在 html 中使用 addEvent 而不是 onkeyup

javascript - 将 Circletype.js 与 jQuery animate 相结合

c# - ASP.Net MVC Update ViewModel on DropDown Selection changed

php - 两个网页上的 onChange 事件

javascript - 删除 javascript 中文档的所有事件监听器,不使用事件名称

javascript - 用addEventListener添加一个元素并在下一次迭代中获取它