selection
はwindow.getSelection()
で取得することができます。
通常のウェブブラウザだとselection.removeAllRanges()
を実行すると選択範囲が解除されます。iOSのSafariではこれが解除されずに残ります。
また、selection
はrangeCount
という選択範囲の数を保持するプロパティがあり、通常は選択が解除されるとこれが1から0になります。iOSのSafariではselection.removeAllRanges()
を実行すると選択範囲は解除されないままrangeCount
が0になります。.toString()
の結果も空文字列となります。
同様に、addRangeでrangeを追加すると選択範囲が変更されないままrangeCount
が1になります。
ざっと調べましたがどうも解除方法はない(結構前から質問は上がっているがまともに動く回答がない)ようなので、各位頑張っていきましょう。