答案 0 :(得分:0)
尝试此解决方法(它至少在Chrome中运行):
document.getElementById('foo').onmousedown = function(e) {
e.preventDefault();
var st = this.scrollTop;
e.target.selected = !e.target.selected;
setTimeout(() => this.scrollTop = st, 0);
this.focus();
}
document.getElementById('foo').onmousemove= function(e) {
e.preventDefault();
}

<select multiple size="5" id="foo">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
&#13;