可能的重复:
有没有办法确定a< select>下拉菜单开放?
我的客户希望我在用户与我们的<select>
元素进行交互后,以导致<option>
列表的方式下降(或quot" drop&quot",我想,因为某些浏览器向上打开,如果<select>
框下方没有太多空间)。然后,一旦用户进行了新选择并导致选项列表消失,或者如果他们简单地关闭选项列表而不进行更改,则指令应再次消失。
我以为我在使用CSS/CSS3选择器和jQuery事件的同时经验丰富,以使诸如<div>
充满说明的事情出现和消失,但是对于这种情况,我很难弄清楚是否有办法有办法确定何时<select>
框不仅是"活动性"或"集中"的框,在选择框仍关闭并且不显示其选项列表时,这两个都可以是真实的,而且实际上是打开的。我已经测试过的CSS伪选择器或jQuery事件都没有让我"看到",更不用说响应<select>
Box的开放性或闭合度的状态。
有人知道如何设置触发器或编写取决于当前是否显示选项列表的CSS规则?
如果$('myID:focus')
不够,我怀疑有另一种方法。
html
<select id="sselect">
<option value="1st">1st</option>
<option value="2nd">2nd</option>
<option value="3rd">3rd</option>
</select>
<br><br>
<div id="ddiv"></div>
JS
$('#sselect')
.on('keyup', function() { $('#ddiv').show().text($(this).val()) })
.on('mouseenter', 'option', function() { $('#ddiv').show().text($(this).val()) })
.on('mouseleave', function() { $('#ddiv').hide() })
在此处查看它:http://jsfiddle.net/rasg/qfmgr/
用FF 15