Scrapboxの任意の行に飛ぶ方法
2020-11-24 00:20:54 できました!!!!
dispatchEvent
の対象を span.c-${number}
にする
mousedown
eventを発行
引数は button: 0, bubbles: true, cancelable: true, view: window
マウスポインタの座標は指定しなくていい
直後に同じ引数で mouseup
eventを発行
これを発行しないと、mouse pointerの位置を誤認識して選択範囲が出てきてしまう
また任意の文字に飛ぶためにも必要
そのうちUserScriptから簡単に使えるAPIを作っておきたい
タイトルにある方法を探しています。もしアイデアがあれば教えていただけるとありがたいです

背景
ArrowUp
などを連続して発行すれば、一応実現できる
KeyboardEvent
をscriptから発行する
しかし大量にキーを連打するのは流石に効率が悪い
一発で任意の行に飛べる方法を見つけたい
理想
指定した行idを持つ行に一発でcursorを移動させる
可能な方法
scriptで矢印キーを連打する
だめだったやつ
任意の行要素.focus()
<div>
に focus()
はない
任意の行要素に対して MouseEvent
を発行
clientX
と ClientY
を設定しただけでは動かなかった
他のoptionも設定すれば動くかもしれない?
どうやらdocumentについてるmousedownイベントで処理してるみたい

ただエミュレートするのは難しそう
中でReactとかが噛まされてるし、独自の条件分岐もあるだろうから、条件を整えるのが大変
document
だったんですか!?

てっきり .lines
の親要素かと思っていた
mousedown
イベントを発行すればエミュレートできるか後で試してみます