1

在我的页面上使用Internet explorer我有一个下拉菜单,但在第一次加载页面时,因为它上面有一个onFocus,它需要双击才能显示菜单。如何避免双击。

onFocus必须仍然触发但菜单必须同时显示?我该怎么做,因为双击很烦人?

这是一个简单的例子

http://jsfiddle.net/tgH7b/3/

这是代码

    <select name="cars" >
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat" selected="selected">Fiat</option>
<option value="audi">Audi</option>
</select>    



<select name="cars" onFocus="this.style.background = '#999';$(this).click();">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat" selected="selected">Fiat</option>
<option value="audi">Audi</option>
</select>​
4

2 回答 2

1

我能想到的唯一解决方案是使用 focusin() 回调函数:

注意:focusin() 支持事件冒泡

http://jsfiddle.net/2AUs6/

<select name="cars" >
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat" selected="selected">Fiat</option>
<option value="audi">Audi</option>
</select>    


<!-- this one -->
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat" selected="selected">Fiat</option>
<option value="audi">Audi</option>
</select>

$('select[name=cars]:eq(1)').focusin(function(){
    $(this).css('background','#999')
})
于 2012-11-22T11:47:49.943 回答
0

这是来自代码项目的可能解决方案

http://www.codeproject.com/Questions/89610/ASP-NET-how-to-create-a-dropdownlist-that-onfocus

于 2012-11-22T11:57:54.067 回答