やっていること
divにcontenteditableをつけた物からキャレットを外したら、最後にキャレットがあった位置を変数(_range.lastRange)に保存するしようとしております。
コンソールで確認してみたのですが、うまく選択されていない状態です。
androidやブラウザですとうまくいきます。
コード
jquery
1$("#hoge").on("blur", function(event) { 2 if(_range.lastRange == null) { 3 var selection = $("#hoge").context.getSelection() 4 console.log(selection) 5 if( 0 < selection.rangeCount ) { 6 _range.lastRange = selection.getRangeAt(0).cloneRange(); 7 } 8 } 9 });
コンソールの結果
Selection anchorNode: null anchorOffset: 0 baseNode: null baseOffset: 0 extentNode: null extentOffset: 0 focusNode: null focusOffset: 0 isCollapsed: true rangeCount: 0 type: "None" __proto__: SelectionPrototype
調べてみたこと
MDNを確認してみましたが、対応しているということです。
https://developer.mozilla.org/ja/docs/Web/API/Window/getSelection
下記のURLに書いてあるように
css
1[contenteditable] { 2 -webkit-user-select: auto; 3 user-select: all; 4}
を書いてみましたが、解決しませんでした。
https://stackoverflow.com/questions/35281283/safari-getselection-not-working
対応方法などをご存知のかたがいらっしゃいましたら、教えて頂けると有難いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。