我有一个下拉菜单,这就是对页面的顶部大多数的屏幕尺寸,但在小屏幕上,如笔记本电脑,菜单在屏幕的中间,正因为如此,在下拉列表中会选择以上。 我希望有一个下拉式选单,将始终如一地往下走,不管它是在页面上。 这是可能吗?
Answer 1:
下拉菜单是由浏览器/操作系统呈现。 使用CSS或JavaScript你无法控制这种类型的行为。
Answer 2:
因为它是留给浏览器渲染的元素,不,这是不可能的(至少不是就标准而言)。
你最好的选择是使用下拉菜单的HTML代替 - 这可以通过CSS和Javascript实现,但多的JavaScript / jQuery的库alread存在执行此任务。
Answer 3:
主要的问题是与IE浏览器。 看来,如果你有一个选项列表和您的当前选择的选项不是第一个选项,然后在下拉可能成为“Dropup”。 为了解决这个问题,你可以添加JavaScript的一个线到所选项目移到列表的顶部。 您将需要一个新的选择已经取得了每次触发此代码。 此外后在页面加载的第一次。 通过保持所选择的选项,在选项列表的顶部,IE只呈现一个下拉。 我不是说这个解决方案是很漂亮,但它可以作为最后的手段是有用的。 (您将需要保存代码和脚本,并将其加载到IE真正看到它的工作)。
$('select.dropdowntest').prepend($('select.dropdowntest option:selected')); $('select.dropdowntest').on('change', function() { $('select.dropdowntest').prepend($('select.dropdowntest option:selected')); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script> <select class="dropdowntest"> <option value="sv">Option 1</option> <option selected="selected" value="en">Option 2</option> </select>
文章来源: How do you stop a dropdown menu from going up?