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;
$option.addEventListener('mousedown', function(e) {
e.preventDefault();
e.target.selected = !e.target.selected;
const $parent = e.target.parentElement;
$parent.focus();
$parent.dispatchEvent(new Event('change'));
});
$control.appendChild($option); $control.appendChild($option);
} }
$control.addEventListener('mousedown', function(e) { $control.addEventListener('mousedown', e => {
e.preventDefault();
const $this = this; const $this = this;
const orgScrollTop = $this.scrollTop; const orgScrollTop = $this.scrollTop;
e.target.selected = !e.target.selected;
const $parent = e.target.parentElement;
$parent.focus();
$parent.dispatchEvent(new Event('change'));
setTimeout(() => ($this.scrollTop = orgScrollTop), 0); setTimeout(() => ($this.scrollTop = orgScrollTop), 0);
}); });