mirror of
https://github.com/fastmail/Squire.git
synced 2025-01-03 05:00:13 -05:00
Work around iOS bug when setting selection.
This commit is contained in:
parent
d413b1bb85
commit
78e8955be1
1 changed files with 9 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
||||||
/* Copyright © 2011 by Neil Jenkins. Licensed under the MIT license. */
|
/* Copyright © 2011 by Neil Jenkins. Licensed under the MIT license. */
|
||||||
|
|
||||||
/*global Range, window, document, setTimeout */
|
/*global Range, navigator, window, document, setTimeout */
|
||||||
|
|
||||||
( function ( doc ) {
|
( function ( doc ) {
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
var isOpera = !!win.opera;
|
var isOpera = !!win.opera;
|
||||||
var isIE = !!win.ie;
|
var isIE = !!win.ie;
|
||||||
|
var isIOS = /iP(?:ad|hone|od)/.test( navigator.userAgent );
|
||||||
var useTextFixer = isIE || isOpera;
|
var useTextFixer = isIE || isOpera;
|
||||||
|
|
||||||
// --- DOM Sugar ---
|
// --- DOM Sugar ---
|
||||||
|
@ -171,6 +172,13 @@
|
||||||
|
|
||||||
var setSelection = function ( range ) {
|
var setSelection = function ( range ) {
|
||||||
if ( range ) {
|
if ( range ) {
|
||||||
|
// iOS bug: if you don't focus the iframe before setting the
|
||||||
|
// selection, you can end up in a state where you type but the input
|
||||||
|
// doesn't get directed into the contenteditable area but is instead
|
||||||
|
// lost in a black hole. Very strange.
|
||||||
|
if ( isIOS ) {
|
||||||
|
win.focus();
|
||||||
|
}
|
||||||
sel.removeAllRanges();
|
sel.removeAllRanges();
|
||||||
sel.addRange( range );
|
sel.addRange( range );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue