読者です 読者をやめる 読者になる 読者になる

あんパン

こしあん以外は認めない

iOSのSafariはselection.removeAllRangesの挙動がおかしい

selectionwindow.getSelection()で取得することができます。

通常のウェブブラウザだとselection.removeAllRanges()を実行すると選択範囲が解除されます。iOSSafariではこれが解除されずに残ります。

また、selectionrangeCountという選択範囲の数を保持するプロパティがあり、通常は選択が解除されるとこれが1から0になります。iOSSafariではselection.removeAllRanges()を実行すると選択範囲は解除されないままrangeCountが0になります。.toString()の結果も空文字列となります。

同様に、addRangeでrangeを追加すると選択範囲が変更されないままrangeCountが1になります。

ざっと調べましたがどうも解除方法はない(結構前から質問は上がっているがまともに動く回答がない)ようなので、各位頑張っていきましょう。