我有以下代码:
var progressbar = document.createElement('div');
//...
xhr.onload = function() {
if (this.status == 200) {
var resp = JSON.parse(this.response);
if (resp.ok) {
var image = document.createElement('img');
image.src = resp.dataUrl;
image.onload = () => {
progressbar.remove();
};
formularz.appendChild(image);
//...
没用我检查了进度栏是否无法访问:
//...
var image = document.createElement('img');
image.src = resp.dataUrl;
image.onload = () => {
alert(progressbar.innerHTML);
progressbar.remove();
};
//...
但令人惊讶的是,我收到了进度栏节点内容的警报...
然后我将代码更改为:
//...
var image = document.createElement('img');
image.src = resp.dataUrl;
function r(progressbar) {
progressbar.remove();
};
image.onload = r(progressbar);
//...
它奏效了。
这是错误还是功能?如果这是一项功能,为什么我能够读取警报中的元素内容(第二版代码)? 如果需要的话,我正在使用webkit。