2011-04-04 98 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