generated at
モバイルでもテキスト範囲選択とコピペがしたい

緑のテキスト選択範囲をスマホでも表示したい
隠しtextareaのテキストが選択されるから、スマホだと変な場所に「コピー」等のメニューが出るかも?
調整が必要そう
Popup Menu Extensionなどで範囲選択からのポップアップを表示が自前実装できた
exec-copyでコピーはできる

全部自前で作らないといけなさそうですね。でも最近のiOSの選択UIとか、ほんとにくそな感じなので、マシなのが作れるかもしれない。rakusai

やってるshokai
範囲選択を作るのは、 touchstart , touchmove , touchend イベントを使えばできそう
発生するeventオブジェクトの形式が mousedown mousemove と違う
e.pageX e.pageY がない
関数のつなぎなおしだけではできない
e.preventDefault() すると怒られる
touchstart の後、押しっぱなしにしていると mousedown イベントが発生する
mousedown と同時に右クリックメニューが表示されてしまう
mobileの時は mousedown を殺す必要がある
公開projectのソースを見せたいPopup Menu Extension行のpermalinkを解除する機能がほしいにコンフリクトしまくっているので、先にそっちをmergeしたいshokaishokai
マウスと同じノリでタッチを実装すると、画面スクロールと衝突してしまう

タッチの挙動
テキスト範囲選択がない時
touchend
カーソル表示
touchmove
画面スクロール(何もしない、OSに任せる)
touchhold
近傍の単語を範囲選択状態にする
テキスト範囲選択がある時
範囲選択外を
touchstart
範囲選択を解除
カーソル表示
範囲選択内を
touchstart
カーソルを隠す
画面スクロール固定 $('body').css({overflow: 'hidden'})
selection startとendの近い方をタッチ箇所に再設定
touchmove
範囲選択を調整
画面スクロール固定 e.preventDefault
touchend
カーソルを表示
画面スクロール固定を解除 $('body').css({overflow: ''})

長押しでpopupを表示できるようにしたら、モバイルからScrapboxに画像アップロードができる