jQuery可以判断<option><select>一个元素的s当前是否显示吗?



可能的重复:
有没有办法确定a&lt; select&gt;下拉菜单开放?

我的客户希望我在用户与我们的<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

测试

最新更新