Jsdom: 인라인 이벀트 ν•Έλ“€λŸ¬λŠ” μ—¬μ „νžˆ μ˜³μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2017λ…„ 08μ›” 20일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: jsdom/jsdom

두 가지 증상:

  • [ ] inline-event-handler-ordering.html이 ν†΅κ³Όν•˜μ§€ μ•ŠμŒ(WPT λ‘€ 이후에 μ‘΄μž¬ν•˜λ˜ 버그λ₯Ό μˆ˜μ •ν•œ 후에도)
  • [x] EventTarget-impl.jsμ—λŠ” μ—¬μ „νžˆ 인라인 이벀트 μ²˜λ¦¬κΈ°κ°€ μžˆμ§€λ§Œ 더 이상 ν•„μš”ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€(https://github.com/tmpvar/jsdom/pull/1950μ—μ„œ μˆ˜μ •λ¨).

ν˜„μž¬μ˜ μ—‰λ§μ§„μ°½μ—μ„œ λ‚˜ μžμ‹ μ„ λΆ„λ¦¬ν•œ ν›„ μ‘°μ‚¬ν•˜κΈ° μœ„ν•΄.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@snuggs μ—¬λŸ¬λΆ„μ—κ²Œ 영ν–₯을 쀄 것이라고 생각 ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 속성을 톡해 μ§€μ •λœ λ¦¬μŠ€λ„ˆμ™€ JSλ₯Ό 톡해 λ“±λ‘λœ λ¦¬μŠ€λ„ˆ κ°„μ˜ μ‹€ν–‰ μˆœμ„œκ°€ μƒλ‹Ήνžˆ λ―Έλ¬˜ν•œ 차이가 있고 μ™„μ „νžˆ μ •ν™•ν•˜μ§€ μ•Šλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

λͺ¨λ“  3 λŒ“κΈ€

κ·Έ ν˜Όλž€μ΄ λ„ˆλ¬΄ λ‚˜μ˜μ§€ μ•ŠκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€ @domenic. 그말이...

snuggsi μ›Ή ꡬ성 μš”μ†Œ 라이브러리 μ—μ„œ λ‹€μŒ κ·œμΉ™μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

<foo-bar onclick=onbaz></foo-bar>

<script>

Element `foo-bar`

(class extends HTMLElement {

  onbaz (event)
    { console.log (this, 'is the `<foo-bar>` element') }
})

</script>

μš°λ¦¬λŠ” 기본적으둜 GlobalEventHandlers λ‚΄μ—μ„œ 속성을 μ°ΎλŠ” μ‚¬μš©μž μ •μ˜ μš”μ†Œμ˜ μžμ‹μ„ νƒμƒ‰ν•˜κ³  μ •ν™•νžˆ 같은 μ΄λ¦„μ˜ 클래슀 λ©”μ†Œλ“œλ₯Ό "등둝"ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ .bind μ‚¬μš©μž μ •μ˜ μš”μ†Œμ— λŒ€ν•œ ν•Έλ“€λŸ¬ _(λ˜λŠ” μœ„μ˜ μ˜ˆμ—μ„œμ™€ 같이 λͺ…μ‹œμ μœΌλ‘œ .childNode 등둝)_. μ‹œλ„λ˜κ³  μ§„μ •ν•œ ν΄λž˜μ‹ 이벀트 등둝을 κ³ μˆ˜ν•˜λ €κ³  ν•©λ‹ˆλ‹€. _(μ–΄λ–€ ν”„λ ˆμž„μ›Œν¬λ„ 이λ₯Ό μ œλŒ€λ‘œ κ΅¬ν˜„ν•˜μ§€ λͺ»ν–ˆλ‹€λŠ” 사싀에 λ†€λžμŠ΅λ‹ˆλ‹€. μ‹€μ œλ‘œλŠ” κ°„λ‹¨ν•œ μ•Œκ³ λ¦¬μ¦˜μ΄μ—ˆμŠ΅λ‹ˆλ‹€ )_

이것이 μš°λ¦¬μ—κ²Œ μ „ν˜€ 영ν–₯을 λ―ΈμΉ©λ‹ˆκΉŒ? λ˜λŠ” 이것은 GlobalEventHandlers 와 관련이 μ—†μŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•΄ jsdom을 μ‚¬μš©ν•©λ‹ˆλ‹€(λ¬Όλ‘ ). λ˜ν•œ 이것은 html μ‚¬μ–‘μ—μ„œ 단계적 폐지λ₯Ό μ•”μ‹œν•©λ‹ˆκΉŒ?
πŸ›€ 🚿 와 ν•¨κ»˜ 🍼 πŸ‘Ά 을 버릴 것 κ°™μŠ΅λ‹ˆλ‹€ .

미리 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

/cc @brandondees

@snuggs μ—¬λŸ¬λΆ„μ—κ²Œ 영ν–₯을 쀄 것이라고 생각 ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 속성을 톡해 μ§€μ •λœ λ¦¬μŠ€λ„ˆμ™€ JSλ₯Ό 톡해 λ“±λ‘λœ λ¦¬μŠ€λ„ˆ κ°„μ˜ μ‹€ν–‰ μˆœμ„œκ°€ μƒλ‹Ήνžˆ λ―Έλ¬˜ν•œ 차이가 있고 μ™„μ „νžˆ μ •ν™•ν•˜μ§€ μ•Šλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

@TimothyGu λ₯Ό λ³΅μ‚¬ν•˜μ‹­μ‹œμ˜€. μ‹ μ†ν•œ 응닡에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€! 항상 μ—¬λŸ¬λΆ„μ˜ μž‘ν’ˆμ„ λ”°λΌν•˜λŠ” 것을 μ’‹μ•„ν•©λ‹ˆλ‹€. πŸ™

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰