Platform
Resources
Pricing
Sign in
Get started
Ki Yung Ahn
Workspace
Fork
Published
Web2020
By
Ki Yung Ahn
Edited
May 15, 2020
1 star
Insert cell
Insert cell
doc
=
html
`<div><button>뻥</button></div>`
Insert cell
doc
.
children
.
length
Insert cell
doc
.
querySelector
(
"button"
)
.
addEventListener
(
"click"
,
handler
)
Insert cell
Insert cell
handler
=
{
const
handler
=
e
=>
{
doc
.
querySelectorAll
(
"button"
)
.
forEach
(
b
=>
doc
.
appendChild
(
b
.
cloneNode
(
true
)
)
)
doc
.
querySelectorAll
(
"button"
)
.
forEach
(
b
=>
b
.
addEventListener
(
"click"
,
handler
)
)
}
/* // 당첨 학생 제출 정답2
// - for, while 사용을 제한하는 조건을 회피해 재귀함수 사용
let handler = e => {
const goal = doc.children.length * 2
recursion(e.target, goal)
}
let recursion = (button, goal) => {
if (doc.children.length < goal) {
doc.appendChild(button.cloneNode(true))
doc.lastChild.addEventListener("click", handler)
recursion(button, goal)
}
}
*/
return
handler
}
/* // 당첨 학생 제출 정답1
// 모범답안과 기본적으로 같은 방법 (9주차 이후 진도에 있는 appendChild 대신에 innerHTML을 사용)
function handler()
{
let copy = doc.innerHTML
console.log(copy) // 디버깅 용 출력이라 이 줄은 없어도 됨
doc.innerHTML += copy
let cols = doc.querySelectorAll('button')
cols.forEach.call(cols,function(col){ col.addEventListener("click",handler); })
}
*/
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
doc
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
handler
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML