select框在IE7及以下版本如果设定select的width为固定值,如果option中内容宽度超过设置值,则会发生弹出框(就是点下select后显示内容的框框)显示不全的BUG,在FF,CHROME等则会自动设定为auto,内容可以正常显示,看了网上各种解决办法,都不是很理想(比如focus时用js设置select宽度为auto,blur时再恢复),会造成元素位置跳动,用户体验不加,最后还是自己用js创建iframe来模拟select弹出框,问题来了,怎么把select原来的弹出框隐藏掉?
既然使用iframe来模拟select弹出框,把select原来的弹出框删除不就行了
你嫌碍事儿一定要眼不见心不烦,就removeChild
<select id="ss">
<option>fff</option>
<option>fff</option>
<option>fff</option>
<option>fff</option>
</select>
<script>
var b = document.getElementById('ss');
b.onclick = function(){
this.blur();
};
</script>这个?