當我在選擇選項綁定一個事件處理程序,該事件處理函數調用在Internet Explorer中無法正常工作的功能(工作完全在Chrome,火狐,和Safari)。的Javascript:事件處理程序不會在選擇選項工作(IE)
下面是代碼,很簡單:
<select onmousedown="display_options(this, 10);">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<script type="text/javascript">
function display_options(this_select, size)
{
/*If the select size is greater than size parameter, apply size parameter to the select :*/
if(this_select.length > size)
{
this_select.size = size;
/*Position absolute to simulate a classic select :*/
this_select.style.position = "absolute";
}
/*When clicking in an option, come back to size 0 for the select. Works perfectly in Chrome, Firefox, Safari, but doesn't work in IE :*/
for(var i = 0; i < this_select.options.length; i++)
{
this_select.options[i].onclick = function(event)
{
this_select.size = 0;
};
}
/*When clicking outside the select, come back to size 0 for the select :*/
this_select.onblur = function()
{
this_select.size = 0;
};
}
在此代碼,這是this_select.options[i].onclick = function(event){...}
在IE中不起作用,因爲選項列表不回來大小爲0
你有想法嗎?你可以嘗試代碼:https://jsfiddle.net/4hck3vo0/
謝謝你在前進,親切。
應該有很多在這個愚弄的,的onclick並不在IE選項的工作。在選擇上使用更改。 – epascarello
如果選擇的選項與選擇大小大於1時的上一個選定選項相同,則選擇標記中的onchange不起作用。 – totoaussi
比選擇 – epascarello