判断 isComposing
在移动端, 使用 event.isComposing
来判断是可行的. 但如果在 mac 上, 如果绑定了按 Enter
提交 / 换行的事件或按 Backspace
来删除整个节点, 则读取到的 event.isComposing
始终为 false
. 在这种情况下, 使用 event.keyCode
来判断是否为 Composing
状态. 正常的 Enter
/ Backspace
的 keyCode
为其原始值, Composing
时 keyCode
为 229
.
1 | const evt = (event as React.KeyboardEvent).nativeEvent; |
SVG
图像的显示
需显式指定 width
和 height
, 否则元素大小为 0
, 不显示.
Safari 的 bug: 删除 Composing 文字时若当前节点为空会删除当前节点
1 | const onDOMBeforeInput = (browser.isAppleMobile || browser.isMacSafari) ? (event: InputEvent) => { |