是否可以在Internet Explorer 11中使用JavaScript设置选择元素的大小属性
Is it possible to set the size attribute of a select element using JavaScript in Internet Explorer 11?
我有一个页面,上面有以下HTML
<select id="person" size="5" onchange="document.getElementById('person').size = 1;">
<option value="Homer">Homer</option>
<option value="Marge">Marge</option>
<option value="Bart">Bart</option>
<option value="Lisa">Lisa</option>
<option value="Maggie">Maggie</option>
</select>
当您在列表中选择一个项目时,列表的大小设置为1(因此它呈现为组合框而不是列表框)。
使用Internet Explorer 11时,浏览器会崩溃。当使用其他浏览器进行测试时,没有问题。我尝试过以下浏览器:
- Firefox 25.0.1
- 铬31.0.1650.63米
- Internet Explorer 10
这里有一把小提琴http://jsfiddle.net/pC9zL/11/包含上述HTML。
其他人经历过这个问题吗?如果是,他们是否知道任何可能的解决方案?
正如@CBroe所建议的,您可以创建一个新元素并用它替换当前元素。使用cloneNode
创建一个"深度"副本,您可以这样做:
<select id="person" size="5" onchange="toDropdown(this)">
<option value="Homer">Homer</option>
<option value="Marge">Marge</option>
<option value="Bart">Bart</option>
<option value="Lisa">Lisa</option>
<option value="Maggie">Maggie</option>
</select>
<script>
function toDropdown(select) {
var dropdown = select.cloneNode(true);
dropdown.selectedIndex = select.selectedIndex;
dropdown.size = 1;
select.parentNode.replaceChild(dropdown, select);
}
</script>
这不会使IE 11崩溃。更改渲染的select
似乎有问题,需要完全更改渲染原理(从列表框到下拉框)。但是,当您将渲染的元素替换为另一个元素时,它可以处理这样的更改。
我遇到了同样的问题,并且发生在onChange事件中。使用onClick事件解决了崩溃问题
<select id="person" size="5" onclick="document.getElementById('person').size = 1;">
<option value="Homer">Homer</option>
<option value="Marge">Marge</option>
<option value="Bart">Bart</option>
<option value="Lisa">Lisa</option>
<option value="Maggie">Maggie</option>
</select>
更多信息:http://social.msdn.microsoft.com/Forums/windows/en-US/4c5643f9-2d54-4a64-9f24-47a4b73fd618/select-box-size-change-crashes-ie11
相关文章:
- 如何根据另一选择中的选择设置一个选择中的文本
- jQuery为按钮选择设置活动类
- 根据两个下拉菜单的选择设置隐藏值
- Bootstrap/AngularJs:如何为导航类的活动选择设置粗体属性
- Ember选择设置内容绑定
- KnockoutJS可观测值为't通过选择设置
- 3 选项从数据库中删除更改时选择设置值
- 如何根据下拉框选择设置文本框值
- 挖空 + 选择2 -- 设置默认值
- jQuery 验证 - 根据用户选择设置条件规则
- 使用角度引导选择设置下拉列表的选定选项
- 运行流星如何选择设置文件
- Dojo选择设置值不能与动态生成的选项一起工作
- 如何根据引导项选择设置变量
- 多重选择设置导致angular出错
- 具体化选择设置动态选项问题
- 表单:选择设置img src
- 基于列表框选择设置列表项
- 根据先前选择标记中的选择设置选择标记的可见性
- 如何根据下拉选择设置单选按钮值