누군가이 문제가 발생하는 이유를 설명해 주실 수 있습니까? 이것은 ondrop
처리기에 있습니다.event.dataTransfer는 setTimeout 함수 내에서 항목을 잃습니다.
왜 타이머 내부의 값이 손실됩니까?
var _this = this;
this.event = event;
console.log(this.event.dataTransfer.items);
## DataTransferItemList {0: DataTransferItem, length: 1, item: function, clear: function, add: function}
setTimeout((function() {
return console.log(_this.event.dataTransfer.items);
## DataTransferItemList {length: 0, item: function, clear: function, add: function}
}), 100);
하더라도 이는에서는 setTimeout 타이머 실행, 그래서 window
될 것이다 때 함수를 호출하는 this
이 같은 this
수 없음을 수
var items, _items,
_this = this;
items = event.dataTransfer.items;
_items = items;
setTimeout((function() {
return console.log(_items);
}), 100);
안녕하세요. 그것은 여전히 – Harry
내 대답을 수정 항목을 직접 유지, 여전히 같은 결과가 발생합니까? – intuitivepixel
같은 일이 발생합니다 – Harry