scrapboxへ入力した文字は#text-inputから取得
できることにたった今気づいたtakker.icon
今までは.linesや#text-inputのDOM変化/属性変化をMutationObserverで監視することで入力を間接的に取得していた
そんなことせずとも、input eventを監視すれば簡単に取得できた
取得方法
code:js
document.getElementById('text-input').addEventListener('input', e=>console.log(e));
変換中の文字列も取得できる
変換中はKeyboardEvent.isComposingがtrueになる
inputTypeに入力のタイプが入っている
InputEvent.inputType
このpropertyはscrapboxの独自拡張だと思われる
InputEventにそのようなpropertyは存在しないので
間違い
originalEventに何か生えているらしい
/customize/Scrapbox Dynamic Macro#5aefd7d0be9f390000320e9f
利点
コード量が少ない
余計なevent発火を監視せずに済む
mobile版でも通用する
きっかけ
https://github.com/isSatake/hyperscorebox/blob/master/src/IME.ts#L55 をみてその可能性に気づいた
#text-inputのinput event
#2021-10-10 08:01:18
#2021-10-10 07:48:44
#2021-10-10 07:47:33
#2021-06-24 22:22:36
#2021-06-24 09:48:35