Fix the stats selection box not working on mobile

This commit is contained in:
redphx 2023-08-27 14:39:35 +07:00
parent 2a85dd574e
commit 2a71e17d2d

View File

@ -1496,19 +1496,21 @@ class Preferences {
const $option = CE('option', {value: value}, label); const $option = CE('option', {value: value}, label);
$option.selected = currentValue.indexOf(value) > -1; $option.selected = currentValue.indexOf(value) > -1;
$control.appendChild($option); $option.addEventListener('mousedown', function(e) {
}
$control.addEventListener('mousedown', function(e) {
e.preventDefault(); e.preventDefault();
const $this = this;
const orgScrollTop = $this.scrollTop;
e.target.selected = !e.target.selected; e.target.selected = !e.target.selected;
const $parent = e.target.parentElement; const $parent = e.target.parentElement;
$parent.focus(); $parent.focus();
$parent.dispatchEvent(new Event('change')); $parent.dispatchEvent(new Event('change'));
});
$control.appendChild($option);
}
$control.addEventListener('mousedown', e => {
const $this = this;
const orgScrollTop = $this.scrollTop;
setTimeout(() => ($this.scrollTop = orgScrollTop), 0); setTimeout(() => ($this.scrollTop = orgScrollTop), 0);
}); });