Моя проблема очень похожа на описанную здесь и на которую «дан ответ»: { ссылка }
Я хотел бы иметь возможность щелкать несколько элементов без необходимости CTRL, а также без него прокрутка вверх, но кажется, что Chrome Mobile (android) по-прежнему видит, что мышь опущена (хотя мыши не задействованы), а затем параметры не отображаются из-за preventDefaults, например:
Как лучше всего go исправить это?
вот jsfiddle, если он помогает: https://jsfiddle.net/95ntdrjc/
Нет JQuery пожалуйста.
const selectElem = document.querySelector('select');
selectElem.onmousedown = function(e) {
e.preventDefault();
const st = this.scrollTop;
e.target.selected = !e.target.selected;
setTimeout(() => this.scrollTop = st, 0);
this.focus();
};
selectElem.onmousemove = function(e) {
e.preventDefault();
};
<select multiple>
<option>One</option>
<option>Two</option>
<option>Three</option>
</select>