【发布时间】:2020-01-20 03:00:59
【问题描述】:
我正在尝试使用绑定到下拉列表的事件侦听器调用 JavaScript 函数 (apiCall),以侦听更改。
我希望在从下拉列表中选择不同的菜单项时重新运行该函数,但是当我运行此代码时,事件侦听器上会出现错误,指出未定义“apiCall”,即使它显然就在上面。
有什么建议吗?
提前致谢。
// API CALL
var request = new XMLHttpRequest()
request.open('GET', base + forecast + key + city, true)
request.onload = function apiCall() {
var data = JSON.parse(this.response)
console.log(data)
string = JSON.stringify(data, null, 4);
app.innerHTML = string;
}
document.getElementById("locationList").addEventListener("change", apiCall)
//send request
request.send()
【问题讨论】:
-
将函数分配给 XMLHttpRequest 的 request.onload 属性与定义具有适当范围的函数不同。
-
使函数匿名
request.onload = function(e) {...}
标签: javascript function methods addeventlistener event-listener