2011-04-04 91 views
0
<html> 
<body> 

<select onfocus='blur(this);'> 
    <option>Volvo</option> 
    <option>Saab</option> 
    <option>Mercedes</option> 
    <option>Audi</option> 
</select> 

</body> 
</html> 

在Firefox中,这工作正常。在IE8中,通过反复点击可以让选项出现。是什么赋予了?还有什么我可以做的,让选择只读,而不显示为禁用?JavaScript模糊不工作在IE中

+0

尝试 '模糊()' – reporter 2011-04-04 12:17:59

回答

2

这将是的onfocus = “this.blur()”

,但你为什么要这么做?只需禁用它。如果你需要的值,将它复制到一个隐藏字段

UPDATE:

<script> 
function changeSel(idx) { 
    var sel = document.forms[0].sel; 
    sel.selectedIndex=idx; 
    sel.form.selCopy.value=idx; 
} 
window.onload=function() { 
    changeSel(document.forms[0].sel.selectedIndex); 
} 
</script> 
<form> 
<input type="text" name="selCopy" value="not set" /> 
<select name="sel" size="1" disabled="disabled"> 
<option>Zero</option> 
<option>One</option> 
<option selected>Two</option> 
<option>Three</option> 
<option>Four</option> 
</select> 
<input type="button" onClick="changeSel(3)" value="Three" /> 
</form> 
+0

谢谢。但同样的问题在IE8中,你仍然可以得到显示的选项。我这样做是因为我在点击选择时显示一个弹出窗口,因为我不希望选择列表下面出现选项列表。我无法找到重新定位它的方法。 – tim 2011-04-04 12:25:12

+0

@Tim,这意味着你的问题是错误的。相反,问你想要什么问题,而不是如何解决当你决定一个特定的解决方法时,你得到的问题:) – mplungjan 2011-04-04 12:30:40

+0

@Tim基本上,它听起来像你不想要一个选择 – mplungjan 2011-04-04 12:40:42