只为信息,这是谷歌Chrome浏览器的具体因为你的代码在IE和FF正常工作。
如果你真的需要这个工作,你可以渲染一个假的下拉,并设置编程选择。
您可以更改下拉列表的大小出现,因为它是开放的,是这样的: https://jsfiddle.net/yzr2cmqv/
<div clas="select-wrap">
<div class="fake-select"></div>
<select class="select">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
</div>
$(".fake-select").on("click", function() {
var numOfOpen = $("select.select option").size();
$(".select").attr("size", numOfOpen).css("overflow", "hidden");
$(this).hide();
});
$(".select").on("click", function() {
$(".select").attr("size", 1);
$(".fake-select").show();
});
以外,我不认为你可以做任何事情,因为Chrome的事件不被解雇时下拉菜单已打开。
看起来这是Chrome中的一个错误。我已经报道过。感谢您的帮助。 – Silko
很酷的技术来改变'尺寸',虽然它不幸中断键盘导航... –
你可以实现额外的事件在键上/下,重现相同的逻辑,像这样的思想somethink: https://jsfiddle.net/yzr2cmqv/15 / – Shark4109