don't autofocus colorpicker input fields on small touch devices
This commit is contained in:
parent
71b2ab14a0
commit
326dc5fb86
|
@ -34,6 +34,8 @@ CodeMirror.defineExtension('colorpicker', function () {
|
|||
const $hsl = {};
|
||||
const $hexLettercase = {};
|
||||
|
||||
const allowInputFocus = !('ontouchstart' in document) || window.innerHeight > 800;
|
||||
|
||||
const dragging = {
|
||||
saturationPointerPos: {x: 0, y: 0},
|
||||
hueKnobPos: 0,
|
||||
|
@ -348,9 +350,9 @@ CodeMirror.defineExtension('colorpicker', function () {
|
|||
const inputs = $inputs[currentFormat];
|
||||
const lastInput = inputs[inputs.length - 1];
|
||||
if (which === 9 && shift && el === inputs[0]) {
|
||||
lastInput.focus();
|
||||
maybeFocus(lastInput);
|
||||
} else if (which === 9 && !shift && el === lastInput) {
|
||||
inputs[0].focus();
|
||||
maybeFocus(inputs[0]);
|
||||
} else if (which !== 9 && !shift) {
|
||||
setFromFormatElement({shift: which === 33 || shift});
|
||||
} else {
|
||||
|
@ -456,7 +458,7 @@ CodeMirror.defineExtension('colorpicker', function () {
|
|||
}
|
||||
}
|
||||
$inputGroups[format].dataset.active = '';
|
||||
$inputs[format][0].focus();
|
||||
maybeFocus($inputs[format][0]);
|
||||
currentFormat = format;
|
||||
}
|
||||
|
||||
|
@ -882,6 +884,12 @@ CodeMirror.defineExtension('colorpicker', function () {
|
|||
}
|
||||
}
|
||||
|
||||
function maybeFocus(el) {
|
||||
if (allowInputFocus) {
|
||||
el.focus();
|
||||
}
|
||||
}
|
||||
|
||||
function focusNoScroll(el) {
|
||||
if (el) {
|
||||
const {scrollY: y, scrollX: x} = window;
|
||||
|
|
Loading…
Reference in New Issue
Block a user