drag and drop 관련 코드를 찾아보던 중 못 보던 메소드가 있어서 찾아보았다.
// NodeList에선 사용할 수 없는 Array method, map
function enableDragSort(listClass) {
const sortableLists = document.getElementsByClassName(listClass);
sortableLists.map(list => enableDragList(list)); // 에러
// Uncaught TypeError: sortableLists.map is not a function
}
// Array.prototype.map.call 사용 예
function enableDragSort(listClass) {
const sortableLists = document.getElementsByClassName(listClass);
Array.prototype.map.call(sortableLists, list => {
enableDragList(list);
});
}
// Array.prototype.map.call 대신 for문으로도 대체가 가능하다.
function enableDragSort(listClass) {
const sortableLists = document.getElementsByClassName(listClass);
for (let i = 0; i < sortableLists.length; i++) {
enableDragList(sortableLists[i]);
}
}