Skip to content

Commit 2b9c46c

Browse files
committed
feat(core): support content-editable
1 parent 69f52d5 commit 2b9c46c

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

packages/core/src/effects/useContentEditableEffect.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,17 @@ export const useContentEditableEffect = (engine: Engine) => {
2323
requestTimer: null,
2424
}
2525

26+
function onKeyDownHandler(event: KeyboardEvent) {
27+
if (event.key === 'Enter') {
28+
event.stopPropagation()
29+
event.preventDefault()
30+
}
31+
}
32+
2633
function onInputHandler(event: InputEvent) {
2734
const node = globalState.activeElements.get(this)
35+
event.stopPropagation()
36+
event.preventDefault()
2837
if (node) {
2938
const target = event.target as Element
3039
clearTimeout(globalState.requestTimer)
@@ -81,6 +90,7 @@ export const useContentEditableEffect = (engine: Engine) => {
8190
editableElement.setAttribute('contenteditable', 'true')
8291
editableElement.focus()
8392
editableElement.addEventListener('input', onInputHandler)
93+
editableElement.addEventListener('keydown', onKeyDownHandler)
8494
placeCaretAtEnd(editableElement)
8595
}
8696
}

0 commit comments

Comments
 (0)