输入的解决方法[type =“text”]:焦点在IE6中

时间:2011-06-22 16:10:51

标签: javascript css internet-explorer-6

input[type="text"]:focus{
    border:solid 2px red;
}

如果我要使用上面的CSS规则它在IE6中不起作用,它只是禁用文本控件。我知道可以使用条件注释来处理CSS位。现在我明白要获得在IE6中更改边框我必须使用javascript或jQuery。我的问题是java脚本是否存在类似于CSS的条件注释,只有当浏览器是IE6时才绑定将边框更改为控件的函数?因为现代浏览器不需要这个代码。希望我有道理。

4 个答案:

答案 0 :(得分:3)

做同样的事情:

<!--[if lte IE 6]>
<script type='text/javascript'>
    // IE JAVASCRIPT HERE
</script>
<![endif]-->

答案 1 :(得分:0)

您是否尝试过使用ie7js,ie8js或ie9js?

http://code.google.com/p/ie7-js/

在我看来,这是解决此问题的最佳方式,因为您只需在页面上包含相应的脚本,并自动为您修复某些功能。

答案 2 :(得分:0)

答案 3 :(得分:0)

没有选择器可以为IE6执行此操作,如果您绝对必须支持此功能,则必须使用javascript的帮助。将此功能放在您的页面上:

function appendInputTypeClasses() { 
 if (!document.getElementsByTagName ) 
  return; 
 var inputs = document.getElementsByTagName('input'); 
 var inputLen = inputs.length; 
 for ( i=0;i<inputLen;i++ ) { 
  if ( inputs[i].getAttribute('type') ) 
   inputs[i].className += ' '+inputs[i].getAttribute('type'); 
 } 
} 

这会将输入的类型添加到类中,因此您可以使用:

input[type='text'],input.text
input[type='radio'],input.radio
input[type='checkbox'],input.checkbox